When the following is compiled with ---- dmd -unittest -c Sqlite.d ---- Sqlite.d: ---- module Sqlite; import Database; class SqliteDatabase { public Result!(T) execute(T)() { assert(0); } } unittest { auto db = new SqliteDatabase(); struct Test { } db.execute!(Test)(); } ---- Database.d: ---- module Database; class Result(T) { T[] mResults; //import tango.util.log.Trace; import tango.util.log.Log; size_t length() { return mResults.length; } } ---- Log.d: ---- module Log; /+/++/ --- dmd compiles without error, when it should complain about the unterminated documentation comment in Log.d. In LDC this leads to some weird semantic errors: http://dsource.org/projects/ldc/ticket/447
import tango.util.log.Log; <= that line should be import Log; obviously, that's a remnant from an old version of the code before I narrowed it down.
Seems to be working now.