On Thu, Sep 26, 2019 at 10:06 AM Nikita Popov <nikita....@gmail.com> wrote:

>
> This RFC is currently held up by a lack of implementation. Once that is
> done, the RFC will go forward as-is (barring any novel concerns). Because I
> consider it an important part of the overall proposal (*), I will neither
> remove the false type, nor split it into a separate vote. People may vote
> against the whole RFC if they disagree with this aspect, or any other
> aspect of the proposal.
>
> Regards,
> Nikita
>
> (*) While certainly not the primary reason for why we should support union
> types, the reason why I brought this proposal forward at this time
> specifically, is that the lack of union types is a blocker for my pet
> project of providing comprehensive type annotations for internal functions.
> Supporting "false" is strictly necessary for this purpose, because it is
> part of nearly all unions as far as internal functions are concerned.
>

Hi,

What if a 'new' type is added specifically to identify this case? Instead
of giving it `int|false`, it could be `int|failed`, where `failed` would
allow a single value only: false. I like it more than naming the return
type `false`. I'm not sure this type should be declarable in user-land,
meaning it's limited to the core and a marker for legacy. `failed` (or name
it whatever) and `false` would still be identical, yet has a more distinct
identification and does not imply there could also a type called `true`.

Figured I'd toss in here as an out-of-the-box idea.

Regards,
Lynn van der Berg

Reply via email to