digitalmars.D.bugs - Please fix bugzilla 107
- Jarrett Billingsley (22/22) Sep 30 2006 Namely, this is the problem where instantiating a template (normally or
Namely, this is the problem where instantiating a template (normally or through a mixin) from a file different from the template's file causes the error message location to be wrong. That is: [file1.d] module file1; import std.stdio; void Foo(T)(T val) { static if(!is(T : int)) Error_Wrong_Type(); // "reporting" an error writefln(val); } [file2.d] module file2; import file1; .. Foo(4.5); // line 100 Gives, among other errors, the error file1.d(100): template instance file1.Foo!(double) error instantiating Notice that it gives the file where the template is declared, but the _line of where it's instantiated_, so you end up with a completely bogus location, making it very difficult to track down where the error actually is.
Sep 30 2006