"I told you so": noreturn sucks a leech and has virtually no utility
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Oct 15 17:13:29 UTC 2021
It has been predicted by several folks that noreturn has very limited
utility and a variety of weird corner cases that will cause a hecatomb
of complications in the language, the standard library, and the
implementation.
(For starters: how the hell is "will not return" a type that's supposed
to do all or at least most things that types do, when even the phrase
defining it has no subject? It's about a FUNCTION that won't return, so
it should be an attribute applicable to a FUNCTION!)
In spite of these voices of reason, noreturn proceeded with a definition
and implementation as expected: execrable.
I was looking today through the wretched isAutodecodableString (how did
we ever think /that/ was a good idea?) and found a number of weird
occurrences of noreturn. Where? Of course, where you least expect or
want it.
Thirty-seven `noreturn` occurrences in phobos.
Ten opened bugs.
This is literally why we can't have nice things. If all that investment
went to literally any other proposal, it would be a net positive.
More information about the Digitalmars-d
mailing list