> Thank you, Nikita, for the wise wrap-up about the general problem and the
> possible solutions!
>
> I think as far as the original motivation is concerned (adding return types
> > to internal methods), the RFC as proposed does well. The only thing I
> would
> > change is to add the ReflectionMethod::getTentativeReturnType() part
> > independently of the userland aspect. I believe it's important that this
> is
> > exposed in reflection, even if the more general userland functionality is
> > not provided. For example, if you have a mock generator, you'll probably
> > want to either add the tentative return type as a real return type to
> > mocks, or at least automatically add the #[SuppressReturnTypeNotice]
> > attribute.
> >
>
> Initially, the reflection-related changes were a core part of the RFC, but
> since I didn't find a really good use-case
> for ReflectionMethod::getTentativeReturnType(), I moved it to the secondary
> part. I think your example highlights really well that it's needed indeed,
> I've just put it back to the core proposal.
>
>
> > I'm more ambivalent about the userland side of this proposal. As Nicolas
> > has already pointed out, the RFC as proposed requires the library to
> have a
> > PHP 8.1 minimum version requirement to make use of this functionality.
> And
> > libraries requiring PHP 8.1 are likely not the target audience for this
> > feature -- at least not when it comes to adding return types at all,
> there
> > might still be a use when it comes to changing them in the future, as
> > typesystem capabilities are expanded.
> >
>
> I agree here as well, as neither I am a fan of the current implementation.
> Especially after you made me realize that it doesn't even solve the general
> problem completely... That being said, I've just got rid of the
> userland-related part of the RFC, since this is something somebody can
> implement later after giving some more thought for the feature.
>
> Now that the controversial part has been removed from the RFC, I'd like to
> start the vote shortly (late next week), in case there is not any more
> feedback. Finally, I didn't rename the SuppressReturnTypeNotice attribute,
> but I'm open to do so if you strongly prefer TentativeReturnType of
> ReturnTypeWillChange (although I like the latter one more).
>

I strongly prefer either TentativeReturnType or ReturnTypeWillChange yes
(ReturnTypeWillChange would work for me.)
They're more declarative and can be re-used by userland without a need for
any RFC from internals.
Actually, I plan to use them in Symfony to help us add return types asap.
Once this is changed in the RFC, I'll be +1 on it.

Thanks for doing the hard work,
Nicolas

Reply via email to