Skip to content

Conversation

@nicolas-grekas
Copy link
Member

Q A
Branch? 6.4
Bug fix? yes
New feature? no
Deprecations? no
Issues -
License MIT

I'm working on a PR to allow exporting named closures, and the way we use closures in PhpArrayAdapter and PhpFilesAdapter gets into my way.

Instead of relying on instanceof \Closure checks, this PR adds an internal marker interface. This makes the logic specific to the component, enabling having closures as regular cached values.

The new logic is tested since adapters are.

@nicolas-grekas nicolas-grekas merged commit e3b664d into symfony:6.4 Sep 3, 2025
8 of 10 checks passed
@nicolas-grekas nicolas-grekas deleted the cache-value branch September 3, 2025 09:13
This was referenced Sep 27, 2025
@nicodemuz
Copy link
Contributor

After upgrading symfony/cache from v6.4.24 to v6.4.26, all my API automation tests started to fail. I didn't look very deep yet, but was surprised that a patch version upgrade would break it.

  23) App\Tests\Controller\Api\TranslationApiControllerTest::testTranslation
TypeError: Doctrine\Common\Annotations\PsrCachedReader::fetchFromCache(): Return value must be of type array, Closure returned

/home/nico/Projects/tutor-platform/symfony/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PsrCachedReader.php:159
/home/nico/Projects/tutor-platform/symfony/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PsrCachedReader.php:120
/home/nico/Projects/tutor-platform/symfony/vendor/friendsofsymfony/rest-bundle/EventListener/ViewResponseListener.php:87
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/event-dispatcher/EventDispatcher.php:220
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/event-dispatcher/EventDispatcher.php:56
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/http-kernel/HttpKernel.php:169
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/http-kernel/HttpKernel.php:76
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/http-kernel/Kernel.php:197
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/http-kernel/HttpKernelBrowser.php:65
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/framework-bundle/KernelBrowser.php:175
/home/nico/Projects/tutor-platform/symfony/vendor/symfony/browser-kit/AbstractBrowser.php:385
/home/nico/Projects/tutor-platform/symfony/tests/Controller/Api/TranslationApiControllerTest.php:19

@nicolas-grekas
Copy link
Member Author

See #61868
You likely need to empty your cache.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants