https://issues.dlang.org/show_bug.cgi?id=19091
Issue ID: 19091 Summary: __traits(compiles) and error in templated structs leads to missing symbol Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: default_357-l...@yahoo.de Minimized repro: enum compiles = __traits(compiles, Outer!()); struct Inner() { // Note syntax error: missing return statement. This is important? int foo() { } void bar() { } } struct Outer() { Inner!() field; } void main() { Outer!()().field.bar; } Expected: Compiler error: missing return statement in foo Got: Linker error: undefined reference to test.Inner.bar() --