What would you expect for this code?

```d
struct Something(Types...) {}

enum isSomethingExact(T) = is(T == Something!Types, Types...);
enum isSomething(T) = is(T : Something!Types, Types...);

pragma(msg, isSomethingExact!noreturn);
pragma(msg, isSomething!noreturn);
```

This currently outputs `false`, `true` which breaks my code because more concretely `isSumType!(typeof(someMethod()))` returns true. I can add a check for noreturn before that, but it seems a little weird that noreturn returns true for isSomething!T and functions like that in phobos.

Reply via email to