digitalmars.D.bugs - [Issue 12790] New: Compiler should keep mixin file around for
- via Digitalmars-d-bugs (43/45) May 23 2014 https://issues.dlang.org/show_bug.cgi?id=12790
https://issues.dlang.org/show_bug.cgi?id=12790 Issue ID: 12790 Summary: Compiler should keep mixin file around for debugging purposes Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: diagnostic Severity: normal Priority: P1 Component: DMD Assignee: nobody puremagic.com Reporter: andrej.mitrovich gmail.com Possibly duplicate report, but I want to discuss this: ----- string someCode() { return " int x; int y = a; // bug "; } mixin(someCode()); void main() { } // L11 ----- 2.064.2: $ dmd test.dtest.d(11): Error: undefined identifier a, did you mean variable x?2.065: $ dmd test.dtest.d-mixin-9(11): Error: undefined identifier aI assume this was changed in order to avoid using confusing error line numbers in the original file (L11 is not really appropriate for any tooling support in 2.064.2). However, this change still isn't helpful because we do not **have** the 'test.d-mixin-9' file. Is it stored on disk somewhere and then promptly deleted? Or is the diagnostic just faking by saying there's a 'test.d-mixin-9' file? I think the compiler should actually create this file (maybe in a temporary dir), and then users will be able to instantly jump-to the point of the mixin where there is some invalid code. This would avoid having to inject pragma(msg) statements. --
May 23 2014