Default arguments break for incomplete struct definitions in input types #282
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.
On appleClang 12.0, I started seeing build breaks in the
NestedInputClient.h
sample when compiling the default arguments for theInputABCD
struct because it needs to know the size of the elements to default-construct astd::vector<InputBC>
, and at that point it had only seen a forward declaration of the struct.I replaced the default arguments in the explicit constructor with another explicit default constructor. This can potentially break code which passes some but not all arguments to the constructor, but it works with any callers who either specified all or none of the parameters before.