Hi Matthew

> Ondřej Mirtes and I present an RFC for the noreturn type:
> https://wiki.php.net/rfc/noreturn_type
>
> The feature already exists in Hack (the primary inspiration) and is
> currently supported by our static analysis tools inside docblocks, and we
> feel there's a good argument for it to be supported by PHP itself.

Thanks for the RFC! I'm very much in support of it.

Two small things:

1. Some magic methods like __toString currently require a specific
return type (like string in that case). Since noreturn is a bottom
type technically it should be possible to type hint those magic
methods with noreturn. It's not a big issue if that's not possible,
but it should be mentioned in the RFC.

2. noreturn is one of the few return types that would technically make
sense for __construct (other than void).

class Foo {
    public function __construct(): noreturn {
        throw new Exception();
    }
}

new Foo();
bar(); // < Dead code

Not sure this is worth supporting but I just wanted to mention it.

Ilija

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to