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.
To discuss: Alternative implementation of #3289 allowing supertypes to be selected.
In this form it is very lenient:
@JsonSubTypes
@JsonSubTypes
)As seen from changes to the tests, it's actually fairly hard to get this code to fallback to
defaultImpl
ifAnimal
is non-abstract. This represents a change in behaviour.h3. FAIL_ON_UNKNOWN_PROPERTIES
Notably the code remains unaware of
FAIL_ON_UNKNOWN_PROPERTIES
so{a,x}
will resolve subtype asAnimal
but then fail on propertyx
. This is quite easy to resolve but is a policy that needs clarifying - should{a,x}
fail deduction and usedefaultImpl
or deduce Animal and fail via further-downstream error handling?