On Thursday, 21 April 2022 at 12:28:37 UTC, rikki cattermole wrote:
noreturn is the bottom type which can implicitly convert to any type, including void. A value of type noreturn will never be produced and the compiler can optimize such code accordingly.

https://dlang.org/spec/type.html#noreturn

ok so I guess all the `isSomething(T)` functions must be written like this then:

```d
enum isSomething(T) = !is(immutable T == immutable noreturn)
    && is(T : Something!Other, Other...);
```

which I think is a little bug-prone, but at least that would solve my issues.

Reply via email to