Bug 1711 – typeof with delegate literal not allowed as template parameter

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2007-12-02T18:32:00Z
Last change time
2015-06-09T01:14:23Z
Keywords
rejects-valid
Assigned to
bugzilla
Creator
dhasenan

Comments

Comment #0 by dhasenan — 2007-12-02T18:32:02Z
template strof (T) { static string strof = T.stringof; } void main () { alias typeof(delegate () { return (invariant(char)[]).init;} ) del; // doesn't affect aliased type auto a = strof!(del); // doesn't affect non-delegate literal types auto aa = strof!(int); // doesn't affect non-delegates with typeof auto ab = strof!(typeof(5)); // doesn't affect typeof with assigned variable auto meth = delegate () { return (invariant(char)[]).init;}; auto b = strof!(typeof(meth)); // rejects with delegate literal in typeof -- both of the following fail auto c = strof!(typeof(delegate () { return 5; } )); auto d = strof!(typeof(delegate () { return (invariant(char)[]).init;} )); }
Comment #1 by bugzilla — 2008-02-16T06:02:13Z
Fixed dmd 1.026 and 2.010