[Issue 19091] New: __traits(compiles) and error in templated structs leads to missing symbol
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jul 17 13:03:48 UTC 2018
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: nobody at puremagic.com
Reporter: default_357-line at 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()
--
More information about the Digitalmars-d-bugs
mailing list