Skip to content

add all missing properties #51866

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

y4roc
Copy link

@y4roc y4roc commented Oct 6, 2023

Q A
Branch? 5.4
Bug fix? yes
New feature? no
Deprecations? no
License MIT

Current behavior: If multiple arguments are missing in the constructor, only the first argument is listed as missing in the array.

Expected behavior: All missing arguments are listed.

@y4roc y4roc requested a review from dunglas as a code owner October 6, 2023 09:03
@carsonbot carsonbot added this to the 5.4 milestone Oct 6, 2023
@nicolas-grekas
Copy link
Member

nicolas-grekas commented Oct 6, 2023

Thanks for the PR but it's missing a lot of context, proper title, PR description and tests. Can you please update it to make us able to understand where you're coming from on the topic and where you'd like to go?

@y4roc
Copy link
Author

y4roc commented Oct 6, 2023

I'll add a test soon.

@HypeMC
Copy link
Contributor

HypeMC commented Oct 9, 2023

IMO, this is part of a slightly bigger story, see #51907

nicolas-grekas added a commit that referenced this pull request Oct 17, 2023
… argument (HypeMC)

This PR was squashed before being merged into the 5.4 branch.

Discussion
----------

[Serializer] Fix collecting only first missing constructor argument

| Q             | A
| ------------- | ---
| Branch?       | 5.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT

Alternative to #51866, sort of followup to #49832

Currently on 5.4 only the first exception is added to the `not_normalizable_value_exceptions` array when `COLLECT_DENORMALIZATION_ERRORS` is `true` or only the first argument is mentioned in the `MissingConstructorArgumentsException` when it is `false`.
On 6.3 however, the part with the `MissingConstructorArgumentsException` was fix with #49832, but the part with the `not_normalizable_value_exceptions` was overlooked.
IMO this is inconsistent behavior as the two cases are actually the same thing with the only difference being that in one case an exception is thrown while in the other the errors are collected.

I'm not sure if #51866 really qualifies as a bug or is actually more a feature, but the reason #49832 was merged onto 6.3 was because of the changes originally done in #49013, which itself was a feature.

If #51866 does qualify as a bug then it would make sense to backport #49832 to 5.4 for consistency, which is what this PR does.

The PR contains two commits:
1) backport of #49832
2) alternative to #51866

If #51866 does not qualify as a bug, the first commit can be drooped and the second one can be rebased with 6.4.

PS I think it's easier to review the changes commit by commit.

Commits
-------

0f398ce [Serializer] Fix collecting only first missing constructor argument
@nicolas-grekas
Copy link
Member

Fixed in #51907, thanks for proposing.

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.

5 participants