[Serialization] Drop overriding initializers with missing bases. #8715
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.
This is the same as the last few commits (#8580, #8698), but with the additional complication of designated initializers affecting other behavior around the type. In particular, convenience initializers cannot be invoked on subclasses if the designated initializers are not all present on the subclass. If a designated initializer is dropped, it's not possible to satisfy that.
It would be nice to do better here, since a class's initializers are mostly independent of the superclass's initializers. Unfortunately, it still affects whether this class can inherit convenience initializers, as well as vtable layout. This is conservative, at least.
This PR currently slurps in #8708, building on the same feature.