Re: [Vote] Partial Function Application v2

From: Date: Wed, 11 Feb 2026 00:02:51 +0000
Subject: Re: [Vote] Partial Function Application v2
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-130068@lists.php.net to get a copy of this message
On Mon, Feb 9, 2026, at 3:09 PM, Tim Düsterhus wrote: > Hi > > On 11/20/25 22:59, Larry Garfield wrote: >> https://wiki.php.net/rfc/partial_function_application_v2 > > As part of my work on the PFA-for-$this RFC I noticed one thing that is > left undefined in the RFC text and AFAICT not currently tested with the > implementation PR, but appears to “just work” is late-static binding > with static::: > > <?php > > class P { > public static function m(string $a): void { > echo __METHOD__, PHP_EOL; > var_dump($a); > } > > public static function get() { > return static::m(?); > } > } > > class C extends P { > public static function m(string|array $b): void { > echo __METHOD__, PHP_EOL; > var_dump($b); > } > } > > P::get()(a: 'a'); > C::get()(b: []); > > This correctly results in: > > P::m > string(1) "a" > C::m > array(0) { > } > > being output. > > Can you please make sure to include this as an Erratum within the RFC > text (and also make sure it gets a proper test in the PR, including all > possible OPcache variations)? > > Best regards > Tim Düsterhus Thanks Tim, good catch. I have added an errata to that effect; Arnaud's on vacation this week but will add some tests when he returns. --Larry Garfield

« previous php.internals (#130068) next »