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
