Bug 4105 – Stack overflow involving alias template parameters and undefined identifier

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Windows
Creation time
2010-04-19T17:45:00Z
Last change time
2015-06-09T01:27:39Z
Keywords
ice-on-invalid-code, patch
Assigned to
nobody
Creator
clugdbug

Comments

Comment #0 by clugdbug — 2010-04-19T17:45:42Z
template Bug4105a(alias Storage) { enum bool somerubbish = Bug4105b!(Storage).nonexistent; } struct Bug4105b(alias Storage){ enum bool useless = Bug4105a!(Storage).somerubbish; } static assert(Bug4105b!(0)().foo); -------- PATCH: expression.c DotIdExp::semantic line 6055. else if (ident == Id::stringof) { char *s = ie->toChars(); e = new StringExp(loc, s, strlen(s), 'c'); e = e->semantic(sc); return e; } error("undefined identifier %s", toChars()); + return new ErrorExp(); - type = Type::tvoid; - return this; }
Comment #1 by clugdbug — 2010-05-05T19:11:22Z
Fixed DMD2.044