On Mon, Nov 17, 2025, at 10:26 AM, Bob Weinand wrote: > Hey Larry, > > On 16.11.2025 21:51:59, Larry Garfield wrote: >> On Sat, Jun 28, 2025, at 12:06 AM, Larry Garfield wrote: >>> Hi folks. Arnaud and I would like to present take-2 at Partial >>> Function Application. >>> >>> https://wiki.php.net/rfc/partial_function_application_v2 >>> >>> It is largely similar to the previous PFA proposal from 2021, though >>> there are a number of changes. Most notably: >>> >>> * The implementation is simpler, because FCC already did part of the >>> work. This RFC can build on it. >>> * Constructors are not supported. >>> * But optional arguments and named placeholders are supported. >>> * It includes pipe-based optimizations. >>> >>> Note: We realize that this is a non-trivial RFC coming late in the >>> cycle. We are proposing it now because, well, it's ready now. If the >>> discussion goes smoothly, we're OK calling a vote on it for 8.5, >>> especially as it would complement pipes so well. If the discussion >>> runs longer, we're also OK with targeting 8.6 instead. We'll see how >>> that goes. >>> >>> <floor opens for discussion, Larry falls through the trap door> >> It's been just over 2 weeks since the last comment in the thread, and the >> last change was made (allowing for parameter reordering). Please consider >> this the Intent to Vote post; I'll be calling the vote sometime probably >> late Tuesday or on Wednesday, baring any new issues before then. >> >> --Larry Garfield > > I've just gave the RFC another deep read, and found only mentions of > pass-by-ref. But not return-by-ref, and neither does the implementation > handle this case: > > # ./sapi/cli/php -r 'function &r(&$a) { return $a; } $a = 1; $b = > &r($a); ++$b; var_dump($a);' > int(2) > # ./sapi/cli/php -r 'function &r(&$a) { return $a; } $a = 1; $b = > &r(?)($a); ++$b; var_dump($a);' > > Notice: Only variables should be assigned by reference in Command line > code on line 1 > int(1) > > Was this an oversight or intentionally omitted in the RFC? If it was, > I'd like to hear the reasoning on this.
Just an oversight. We both use return-by-ref so rarely we forgot it's even a thing. :-) I've updated the RFC to include it, and Arnaud said it's easy to update the implementation so will do so shortly. Thanks for the catch. As this is largely just a forgotten case (I just added a "/return-by-ref" to the text), I'm not sure if it needs a cooldown reset. For the moment I will plan to continue opening the vote in the next few days, but if someone requests it I'll mark it a minor change and delay a week. --Larry Garfield
