Hacker News new | ask | show | jobs
by joe_hoyle 133 days ago
The problem is that first class callables actually makes a new object wrapper for each reference, so trim(…) != trim(…). (It can be true in some cases, it depends if the memory is freed for the first reference).
1 comments

And how is Closure::fromCallable('trim') recommended by the article any better in that respect?

    $ php8.4 -r "var_dump(Closure::fromCallable('trim') === Closure::fromCallable('trim'));"
    bool(false)
It is not better, this is a problem with the first-class callable syntax altogether.