On Tuesday, 17 May 2022 at 20:06:35 UTC, kdevel wrote:
>Is this reproducible
Yes, it is.
This is an assertion in the backend (Walter you need to fix these they are blocking work on noreturn).
dmd: src/dmd/backend/cod4.d:424: Assertion `cast(int)sz > 0' failed.
However this is a bug with the implementation of noreturn rather than throw expressions.
The PR I just raised only adjusts the tables that govern implicit conversions to be more aware of noreturn.
I haven't look into this in any detail but the assertion triggering here is probably because the frontend is casting the noreturn-ing expression to an int. This be a hack to make the backend work with noreturn however I'm not familiar with the foundation of it's implementation.