The Great Renaming of Map.AttributeType. #105
Merged
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.
Maps don't have an AttributeType in cty. They have an ElementType. In my
wayward youth of like a year ago, I decided this was A Mistake and in my
great and everlasting wisdom, I changed it to AttributeType. I think my
rationale was that elements are integer-indexed and attributes are
string-indexed.
My hubris has bitten me. This was a bad take. It makes diagnostics weird
(why am I using an ElementKeyString instead of an AttributeName if it's
an attribute?) and deviates with basically no value.
Worse, it's just... wrong. Attributes are structural in nature, like
properties in Go structs. They're defined by the provider developer.
Elements aren't structural, like Go maps. The type has no constraint on
what keys or how many keys can be used. Maps are obviously this second
thing.
This is the great renaming, that will break everything but will finally,
finally correct my blunder.