https://issues.dlang.org/show_bug.cgi?id=23989
Issue ID: 23989 Summary: Regression in rdmd when running an empty eval Product: D Version: D2 Hardware: All URL: http://dlang.org/ OS: All Status: NEW Severity: regression Priority: P3 Component: tools Assignee: nob...@puremagic.com Reporter: deadal...@gmail.com We run unit tests for modules in the following way: rdmd -m64 -Isrc -w -debug -g -unittest -i --extra-file=src/d/object.d --eval="/* Do nothing */" With an extra-file per file. These command are generated automatically by the build and this used to work great. With the latest rdmd, we have the following error message: /tmp/.rdmd-1001/eval.73D1BDC8D7573E2DF9EF23CD86830110.d(18): Error: use `{ }` for an empty statement, not `;` Failed: ["/usr/bin/dmd", "-m64", "-Isrc", "-w", "-debug", "-g", "-unittest", "-i", "-d", "-v", "-o-", "/tmp/.rdmd-1001/eval.73D1BDC8D7573E2DF9EF23CD86830110.d", "-I/tmp/.rdmd-1001"] make: *** [src/libd.mak:33: check-libd-d] Error 1 This is because the generated file is as follow: module temporary; import std.stdio, std.algorithm, std.array, std.ascii, std.base64, std.bigint, std.bitmanip, std.compiler, std.complex, std.concurrency, std.container, std.conv, std.csv, std.datetime, std.demangle, std.digest.md, std.encoding, std.exception, std.file, std.format, std.functional, std.getopt, std.json, std.math, std.mathspecial, std.mmfile, std.numeric, std.outbuffer, std.parallelism, std.path, std.process, std.random, std.range, std.regex, std.signals, std.socket, std.stdint, std.stdio, std.string, std.windows.syserror, std.system, std.traits, std.typecons, std.typetuple, std.uni, std.uri, std.utf, std.variant, std.zip, std.zlib; void main(char[][] args) { /* Do nothing */; } --