On Mon, Oct 13, 2025, at 4:00 PM, Tim Düsterhus wrote:
> Hi
>
> I'll give the RFC another read at a later point, but I wanted to get 
> something out before I forget:
>
> Am 2025-10-13 20:23, schrieb Larry Garfield:
>>> - How does it interact with `compact()`, specifically:
>>> 
>>>      $partial = compact(someValue(), ?);
>>> 
>>> Would the `?` be able to capture a variable containing the return 
>>> value
>>> of `someValue()`?
>> 
>> Good question!  compact(), extract(), etc. can't actually work with 
>> PFA, because they operate on the ambient context, which PFA by design 
>> changes.  I've updated the RFC to note three incompatible core 
>> functions.  (The other is func_get_arg()).
>
> - `get_defined_vars()` should be added to the list (possibly more?). Or 
> to make things easier: Just say everything that doesn't already work 
> with FCC will not work with PFA either.
> - What will happen with `assert(?)`? Assert is special in that it 
> captures the AST at compile time to render it in the error message. So 
> specifically:
>
>      $x = assert(?);
>      assert(false); // How will the AssertionError look like?
>
> Best regards
> Tim Düsterhus

I've added assert() and get_defined_vars() to the list, and relabeled it to be 
incomplete.  I also added a note about FCC and it being the same list.

--Larry Garfield

Reply via email to