type checker: identify compatible type from reference#8485
Merged
sspaink merged 7 commits intoopen-policy-agent:mainfrom Apr 8, 2026
Merged
type checker: identify compatible type from reference#8485sspaink merged 7 commits intoopen-policy-agent:mainfrom
sspaink merged 7 commits intoopen-policy-agent:mainfrom
Conversation
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
✅ Deploy Preview for openpolicyagent ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…ies to be optional, similar to unify1Object Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
consolidate tests Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
anderseknert
approved these changes
Apr 8, 2026
Member
anderseknert
left a comment
There was a problem hiding this comment.
Wow, this is awesome! Very happy to finally see this fixed
I'm quite surprised — bordering on concerned 😄 — this required no updates to existing tests! Did we have nothing to assert past behavior of the compiler for any of the issues mentioned? Wow..
| pre := make([]types.Type, len(args)) | ||
| for i := range args { | ||
| pre[i] = env.Get(args[i]) | ||
| pre[i] = env.GetByValue(args[i].Value) |
Member
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
resolve: #7273
Better solution then the one I was attempting here: #7273 (comment). My original approach was to refactor
unify1to infer types conditionally and that just made the problem bigger than it had to be.This approach adding an extra check using the existing
unifiesto catch compatibility when the type is known is straightforward way to handle this.unify1does also check for compatibility but because of the infer type functionality it was overwriting the reference incorrectly.One of the big hurdles I had was trying to understand what
unify1andunifieswere doing, hopefully the added comments will make that easier the next time someone looks at this.The update to
unifiesObjectsStaticalso resolves the issues: #6751 and #5594, test case added