functions/stdlib/merge: return an empty object when all inputs are null #82
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.
It seems intuitive for merge() to return an empty object when the inputs
are null (or omitted entirely) - returning an error would likely break
many terraform configurations, and returning an empty object rather than
null seems more consistent with the documented behavior (though it is
not explicit!).
I dug through the commit history and compared terraform's documentation,
post pre- and post-hcl2, and did not find any clues as to why it was
returning null rather than an empty object. I feel like this is an
acceptable breaking change, but am certainly open to other opinions.