www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Template type parameter turns to int

reply mpt <no mail.invalid> writes:
Given program (dmd 2.013):

void foo(T)() {
    pragma(msg, T.stringof);
}

void main() {
    foo!(bar)();
}

I would expect the compiler to report an error about the unknown identifier,
bar. Instead the program is accepted and the compiler prints "int". Is this a
bug or is there a way to make it give an error?
May 11 2008
parent Frits van Bommel <fvbommel REMwOVExCAPSs.nl> writes:
mpt wrote:
 Given program (dmd 2.013):
 
 void foo(T)() {
     pragma(msg, T.stringof);
 }
 
 void main() {
     foo!(bar)();
 }
 
 I would expect the compiler to report an error about the unknown identifier,
bar. Instead the program is accepted and the compiler prints "int". Is this a
bug or is there a way to make it give an error?

That looks like a bug. (1.029 reports an error, so it's only in the D2 branch) Please report it at http://d.puremagic.com/issues/
May 11 2008