Bug 1912 – Error without line number (Tuple, invalid value argument)

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2008-03-12T10:14:00Z
Last change time
2015-06-09T01:14:38Z
Keywords
diagnostic
Assigned to
bugzilla
Creator
webmaster

Comments

Comment #0 by webmaster — 2008-03-12T10:14:47Z
The code below actually has two problems with the error messages produced. This bug is to report the fact that the first error message does not have a line number or file listed. dmd 2.012, Linux BEGIN MODULE "a.d" import b; import std.stdio; template typeof_each(T,TPL...) { static if(TPL.length == 0) alias Tuple!(typeof(T)) typeof_each; else alias Tuple!(typeof(T), typeof_each!(TPL)) typeof_each; } template typeid_each(T,TPL...) { static if(TPL.length == 0) alias Tuple!(typeid(T)) typeid_each; else alias Tuple!(typeid(T), typeid_each!(TPL)) typeid_each; } void foo(ARGS_TPL...)(ARGS_TPL args) { writefln("", typeid_each!(typeof_each!(ARGS_TPL))); } void bar() { foo(',' , ','); } BEGIN MODULE "b.d" template Tuple(TPL...) { alias TPL Tuple; } END CODE COMPILER OUTPUT Error: expression & _D10TypeInfo_a6__initZ is not a valid template value argument b.d(16): template instance b.Tuple!(& _D10TypeInfo_a6__initZ) error instantiating
Comment #1 by clugdbug — 2008-06-19T13:47:29Z
Reduced test case. Changed title. --- template Tuple(T...) { alias T Tuple; } auto K = Tuple!(typeid(char)); --- Error: expression & D10TypeInfo_a6__initZ is not a valid template value argument a.d(7): template instance a.Tuple!(& D10TypeInfo_a6__initZ) error instantiating
Comment #2 by clugdbug — 2008-07-09T07:14:00Z
Fixed DMD1.032
Comment #3 by webmaster — 2008-07-09T14:28:05Z
In my example code, the two original errors have gone away. There is a new error present, but it has a line number. I have not yet determined whether the new error is a problem in dmd or in my code. If it turns out to be DMD, I will open a new Bugzilla. So, I agree that this bug is fixed.
Comment #4 by bugzilla — 2008-07-09T22:41:03Z
Fixed dmd 1.032 and 2.016