Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick another upstream v1.4.1 change #9

Merged
merged 9 commits into from
Mar 6, 2025
Merged

Conversation

bbasata
Copy link
Collaborator

@bbasata bbasata commented Mar 5, 2025

We missed an upstream commit in #7 -- this pull request adds it.

How I missed it: on the first run, I collected commits from upstream using:

git log --oneline 8158450..v1.4.1 --format=%h

and I supplied that list to git cherry-pick. Better:

git log --oneline 8158450..v1.4.1 --format=%h --reverse

bbasata and others added 9 commits March 5, 2025 17:37
When converting a list of objects, it is necessary to unify the types of
the child elements.
Previously, we checked if two sets had the same rules using a simple
equality check. This panics if the sets contain object types, as they
cannot be compared using `==`.

Adding a SameRules method to the Rules interface allows us to delegate
to the Type.Equals method where necessary, fixing this problem.
If one or more arguments to the stdlib set functions was an empty set of
dynamic pseudo type, the functions would panic due to incompatible set
rules.

We can special case empty dynamic pseudo type sets to be ignored through
type unification, because they are always capable of being converted to
any other type.
@bbasata bbasata requested a review from a team as a code owner March 5, 2025 22:46
@@ -5,7 +5,7 @@ import (
"math/big"
"testing"

"github.com/zclconf/go-cty/cty/set"
"github.com/hashicorp/go-cty/cty/set"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! Nice catch 👍🏻

@bbasata bbasata merged commit 016615a into master Mar 6, 2025
1 check passed
@bbasata bbasata deleted the 1-4-1-redux branch March 6, 2025 14:30
bbasata added a commit to hashicorp/terraform-plugin-sdk that referenced this pull request Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants