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;} ));
}