[Issue 24380] New: CTFE assert messages are replaced with "null" with -dip1008
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Feb 9 19:04:53 UTC 2024
https://issues.dlang.org/show_bug.cgi?id=24380
Issue ID: 24380
Summary: CTFE assert messages are replaced with "null" with
-dip1008
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: zorael at gmail.com
EndeavourOS/Arch x86_64, dmd 2.107.0, ldc 1.36.0, also 1.37.0-beta1.
The messages of asserts thrown during CTFE are replaced with "null" iff they
were derived from a thrown exception's message and iff the program is built
with -dip1008 enabled.
```d
#!/usr/bin/env dub
/+ dub.sdl:
name "app"
dflags "-dip1008"
+/
void main() {}
static immutable ctfeThing =
{
try
{
throw new Exception("message");
}
catch (Exception e)
{
assert(0, e.msg);
}
return 0;
}();
```
```
app.d(17,9): Error: null
app.d(20,2): called from here: `(*function () pure nothrow @nogc @safe
=> 0)()`
Error /usr/bin/dmd failed with exit code 1.
```
Expected is "Error: message", and you do get that if you disable -dip1008.
--
More information about the Digitalmars-d-bugs
mailing list