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

Reply via email to