June 08, 2010 [dmd-internals] where do forward reference errors originate? | ||||
---|---|---|---|---|
| ||||
There is this bug that is blocking my coding: http://d.puremagic.com/issues/show_bug.cgi?id=4267 alias Bar Bar2; // but the second one doesn't alias Foo!(1) Bar; // 1 alias "level" works //alias Bar Bar2; // putting it behind the 1st alias makes it work template Foo(uint ver) {} ddraw.d(1): Error: forward reference to 'Foo!(1)' IIRC the error is "thrown" at mtype.c:5532 (TypeQualified::resolveHelper): if (t->ty == Tinstance && t != this && !t->deco) { error(loc, "forward reference to '%s'", t->toChars()); return; } I read that the check for deco means checking if semantic analysis has already been run. So if this gives an error instead of calling t->semantic() I guess the root of the error is elsewhere? |
Copyright © 1999-2021 by the D Language Foundation