Hi

On 10/28/22 18:25, Jeffrey Dafoe wrote:
Informally, doesn't this mean that voters wanted a and c in PHP9?

Not necessarily. It might be that a voter does not like the Exception wrapping at all (thus declining the proposal), but *if* it happens to be accepted then also increasing everything to Exception would be be an obvious follow-up to them (thus declining the other proposal).

Also I've taken care to explicitly spell out the "terms of vote" before starting the voting to make sure voters are able to make an informed decision and making assumptions violates that informed decision.

Does this vote mean it's dead for 9, or just that it needs a vote at some point 
in the future with the choices grouped different?


I believe https://wiki.php.net/rfc/voting#resurrecting_rejected_proposals answers your question here.

My understanding is that it may be reproposed after April 28, 2023, or earlier when substantial changes are made. Whether the change of target versions or voting dependencies constitute such a substantial change, I don't feel qualified to answer.

In any case I do not plan to repropose the RFC myself, for two reasons that both relate to the fact that I've written the RFC and developed the PoC patch in my free time (a co-worker proof-read the initial version of the RFC itself on company time, though):

a) The discussion phase and voting phase were both pretty exhausting to me mentally. One of the reasons is that the folks following the RFC on Twitter were not pointed to the related discussion thread, thus were missing out on important information and thus asked questions that were already answered without them knowing about it and needed to be answered again.

b) As a "personal time" contributor I personally find it demotivating if I need to wait until the next major (possibly multiple years) before I am able to use and rely on what I proposed myself.

I've written the RFC such that I am happy with what I proposed and such that I feel that I spent my free time well.

Even if the proposal was partly rejected, it ultimately still benefitted me, as I've learned something: I've learned that how I handled unserialize() failures in code I've written is unsafe and broken. I will improve my own code based on that and I strongly recommend everyone else who followed along the discussion to also do that:

The only safe error handling is (1) using a throwing error handler, and then (2) using catch(Throwable) without relying on a specific type of Exception.

------------

If someone wants to pick this up, they are free re-use (parts of) the words I've written for the RFC. The 'Increase the error reporting severity in the unserialize() parser' section will likely need to be rewritten, as the proposal (b) "unify Notice to Warning" passed. A short private heads-up is appreciated, but not required. If assistance with the C implementation is required, I might be able to help out as well.

Best regards
Tim Düsterhus

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

Reply via email to