[dmd-internals] Struct member trySemantic() regression in DMD Git master

David Nadlinger code at klickverbot.at
Sat Nov 19 13:37:54 PST 2011


https://github.com/D-Programming-Language/dmd/commit/8baaaf675e7d50b1160f81b9a27aef106f584968 
introduced a regression concerning __traits(compiles, …):
---
struct Foo {
   int a;
}
static assert(!__traits(compiles, { return Foo.a; }));
---

The assert doesn't pass anymore with the aforementioned commit in place, 
i.e. __traits(compiles, …) returns true. If the delegate was used in 
actual code, semantic analysis would later give a »need this« error.

I'm not quite sure what the best/correct fix for this is.

David


More information about the dmd-internals mailing list