https://issues.dlang.org/show_bug.cgi?id=24599
Issue ID: 24599
Summary: [REG2.103] Wrongly elided TypeInfo emission leading to
undefined symbols at link-time
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
This dustmited testcase regressed with v2.103, failing to link due to an
undefined TypeInfo (`_D24TypeInfo_xS3mod8Variable6__initZ`), introduced by
https://github.com/dlang/dmd/pull/14844:
```
module mod;
struct Variable
{
size_t toHash() const { return 0; }
}
enum hasInoutConstruction(T) = __traits(compiles, { struct S { T a; } });
struct Algebraic(T)
{
static if (hasInoutConstruction!T)
{
}
}
Algebraic!Variable foo();
struct S
{
Variable[] symbols;
}
void main() {}
```
--