[Serializer] Fix denormalizing union types #45838
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@nicolas-grekas Replaces: #45824 as I accidentally registerred a lot of people to the notifier list when changing target branch.
Note about difference between docblock vs PHP 8 union types:
With PHP 8 union types, the resolved
$types
array was always (when I checked) in the same order, no matter the type definition.So these two things:
public null|boolean|DateTime
andpublic DateTime|boolean|null
would always generate an array, where the first item wasDateTime
.With PHP docblock the
$tpyes
array order depends of the order of the documentation.So the
* @var \DateTime|bool|null
would resolve to an array withDateTime
as first item, but the* @var null|bool|\DateTime
would resolve to theDateTime
being the last element.