DIP 1017--Add Bottom Type--Final Review
Olivier FAURE
couteaubleu at gmail.com
Tue Jan 15 12:20:20 UTC 2019
On Tuesday, 15 January 2019 at 08:59:07 UTC, Mike Parker wrote:
> DIP 1017, "Add Bottom Type", is now ready for Final Review.
>
> [...]
>
> Thanks in advance for your participation.
I agree that this proposal should still be in the "Community
Review stage". The DIP procedure document says:
> At the end of the review period, the DIP Manager will work with
> the POC to ensure all feedback has been addressed, revise the
> DIP as necessary, and include a summary of the review round in
> the Reviews section of the DIP.
While a "Reviews" section has been added, no other change has
been added to the document. For instance, while the Reviews
section notes that `Tbottom*` should logically be `typeof(null)`,
the document body still lists `Tbottom*` == `Tbottom`.
But most importantly, the document does nothing to explore and
compare alternatives to having a bottom type, that were suggested
in the previous review threads.
For instance, it was suggested that a function not returning
could be expressed through an out contract:
void foobar() out (; false);
We could even add a __traits(wontReturn, ...) syntax, so that
template functions could detect such contracts, and propagate
them. Now, maybe these functions would be bloated and overly
complicated and adding a bottom type would simplify them... but
we should probably wait until these problems actually exist to
add a layer of complexity to the type system.
More information about the Digitalmars-d
mailing list