[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