When the file is specified, Shouldn't #line create a new module ? =========== module m; int a; #line 0 "other.d" int a; =========== Currently this is not allowed, but what's the value added by the filename then ?