Closed
Description
Symfony version(s) affected
7.2.1
Description
When (indirectly) upgrading symfony/type-info
from 7.1.8
to 7.2.1
(due to symfony/type-info: "^7.1"
in symfony/property-info
), it gives an error regarding UnionType
:
In UnionType.php line 54:
[Symfony\Component\TypeInfo\Exception\InvalidArgumentException]
Cannot create union with "mixed" standalone type.
Exception trace:
at /app/vendor/symfony/type-info/Type/UnionType.php:54
Symfony\Component\TypeInfo\Type\UnionType->__construct() at /app/vendor/symfony/type-info/TypeFactoryTrait.php:296
Symfony\Component\TypeInfo\Type::union() at /app/vendor/symfony/type-info/TypeResolver/StringTypeResolver.php:226
Symfony\Component\TypeInfo\TypeResolver\StringTypeResolver->getTypeFromNode() at /app/vendor/symfony/type-info/TypeResolver/StringTypeResolver.php:192
Symfony\Component\TypeInfo\TypeResolver\StringTypeResolver->Symfony\Component\TypeInfo\TypeResolver\{closure}() at n/a:n/a
array_map() at /app/vendor/symfony/type-info/TypeResolver/StringTypeResolver.php:192
Symfony\Component\TypeInfo\TypeResolver\StringTypeResolver->getTypeFromNode() at /app/vendor/symfony/type-info/TypeResolver/StringTypeResolver.php:86
Symfony\Component\TypeInfo\TypeResolver\StringTypeResolver->resolve() at /app/vendor/symfony/property-info/Extractor/PhpStanExtractor.php:217
Symfony\Component\PropertyInfo\Extractor\PhpStanExtractor->getType() at /app/vendor/symfony/property-info/PropertyInfoExtractor.php:96
Symfony\Component\PropertyInfo\PropertyInfoExtractor->extract() at /app/vendor/symfony/property-info/PropertyInfoExtractor.php:62
Symfony\Component\PropertyInfo\PropertyInfoExtractor->getType() at /app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:992
Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->getPropertyType() at /app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:962
Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->getType() at /app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:929
Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->denormalizeParameter() at /app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php:374
Symfony\Component\Serializer\Normalizer\AbstractNormalizer->instantiateObject() at /app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:243
Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->instantiateObject() at /app/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:339
Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->denormalize() at /app/vendor/guikingone/scheduler-bundle/src/Serializer/TaskNormalizer.php:289
SchedulerBundle\Serializer\TaskNormalizer->denormalize() at /app/vendor/symfony/serializer/Serializer.php:238
Symfony\Component\Serializer\Serializer->denormalize() at /app/vendor/symfony/serializer/Serializer.php:143
Symfony\Component\Serializer\Serializer->deserialize() at /app/vendor/guikingone/scheduler-bundle/src/Transport/CacheTransport.php:70
SchedulerBundle\Transport\CacheTransport->get() at /app/vendor/guikingone/scheduler-bundle/src/Scheduler.php:76
SchedulerBundle\Scheduler->schedule() at /app/var/cache/dev/ContainerSU4h0yA/App_KernelDevDebugContainer.php:24286
ContainerSU4h0yA\App_KernelDevDebugContainer::getSchedulerService() at /app/var/cache/dev/ContainerSU4h0yA/App_KernelDevDebugContainer.php:13641
ContainerSU4h0yA\App_KernelDevDebugContainer::getConsumeTasksCommandService() at /app/var/cache/dev/ContainerSU4h0yA/App_KernelDevDebugContainer.php:5245
ContainerSU4h0yA\App_KernelDevDebugContainer::ContainerSU4h0yA\{closure}() at /app/vendor/symfony/console/Command/LazyCommand.php:189
Symfony\Component\Console\Command\LazyCommand->getCommand() at /app/vendor/symfony/console/Application.php:338
Symfony\Component\Console\Application->doRun() at /app/vendor/symfony/framework-bundle/Console/Application.php:77
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /app/vendor/symfony/console/Application.php:193
Symfony\Component\Console\Application->run() at /app/bin/console:43
How to reproduce
I'm using guikingone/scheduler-bundle
, and after debugging in the PropertyInfoExtractor
, I've found that it might be related to the annotation for the $options
there:
/**
* @var array<string, mixed|bool|string|float|int|DateTimeImmutable|DateTimeZone|DateInterval|NotificationTaskBag|null>
*/
protected array $options = [];
Possible Solution
No response
Additional Context
Related: symfony/type-info@f8ee4b9
Workaround: use 7.1.8
; composer require symfony/type-info:7.1.*