[Issue 21951] Segfault on `noreturn.init`
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jun 15 13:03:29 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21951
--- Comment #2 from Dlang Bot <dlang-bot at dlang.rocks> ---
@RazvanN7 updated dlang/dmd pull request #12688 "Fix Issue 22017 - with() on
struct method that returns this destroys too early" fixing this issue:
- Fix 21951 - Add missing defaultInit literal for `noreturn`
Otherwise further semantic for `noreturn` variables / overload resultion
will segfault.
The default initializer is defined as `assert(false)` for now. This
might need to be revised to satisfy [1] once the backend is adapted to
handle `noreturn` outside of return values (currently either crashes or
hits assertion failures).
[1]:
> Defining a noreturn variable with no initialization expression
> generates an assert(0) only if the variable is accessed, which can be
> useful in generic code where unused noreturn variables may be declared
https://github.com/dlang/dmd/pull/12688
--
More information about the Digitalmars-d-bugs
mailing list