On Thursday, 17 November 2016 at 14:10:01 UTC, Andrei
Alexandrescu wrote:
Lucia is working on
https://issues.dlang.org/show_bug.cgi?id=16683 which shows good
promise in cleaning the cobwebs around Typeinfo. She looked
into matters and figured she needs to have TypeidExp.semantic()
return the lowered expression. In the code below
getFuncTemplateDecl(tidSymbol); // returns nil
and the compiler crashes when it hits this line.
// extern (C++) final class TypeidExp : Expression @ dmd->
expression.d
override Expression semantic(Scope* sc)
{
auto tidIdentifierExp = new IdentifierExp(loc, new
Identifier("__typeidImplT"));
auto tidSymbol = new Dsymbol(new
Identifier("__typeidImplT"));
auto tidDeclaration = getFuncTemplateDecl(tidSymbol);
auto tidExp = new TemplateExp(loc, tidDeclaration);
auto callExp = new CallExp(loc, tidExp);
return callExp;
}
Any help would be appreciated.
Thanks,
Andrei
I am looking into it.