typeof alias in templates

bearophile bearophileHUGS at lycos.com
Sun Jul 20 07:32:21 PDT 2008


In a template I need both the name and type of a given variable, but I have found a problem that can be shown with this simple code:

template Bar(string name) {
    pragma(msg, name);
}
template Foo(alias A) {
    alias Bar!(A.stringof) Foo;
}
void main() {
    int x = 10;
    alias Foo!(x) Nothing;
}

I'd like this code to print "x" instead of "int". Is this a bug of DMD V.1.033?

(At the moment I have solved the problem giving the template the name of the variable, and then finding its type with typeof(mixin("name")), but it's a less elegant solution).

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list