[Issue 22226] New: [REG 2.095.1] __ctfe + function call in conditional expression used to initialize struct member in constructor causes ICE
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Aug 19 22:06:15 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22226
Issue ID: 22226
Summary: [REG 2.095.1] __ctfe + function call in conditional
expression used to initialize struct member in
constructor causes ICE
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: snarwin+bugzilla at gmail.com
As of DMD 2.097.2, attempting to compile the following program causes DMD to
crash due to a segmentation fault:
---
struct A {}
A move(A a) { return A.init; }
struct SumType
{
A a;
this(A value)
{
a = __ctfe ? value : move(value);
}
}
---
According to run.dlang.io, this is a regression introduced in DMD 2.095.1:
---
Up to 2.094.1: Success and no output
Since 2.095.1: Segfault and no output
---
Attempting to compile the above program using a build of DMD with assertions
enabled results in the following error message:
---
dmd: src/dmd/backend/cod3.d:1391: Assertion `t' failed.
---
--
More information about the Digitalmars-d-bugs
mailing list