v1.10 backport: Functions that allow marks must also deal with unknown values#35985
Merged
v1.10 backport: Functions that allow marks must also deal with unknown values#35985
Conversation
Contributor
|
Reminder for the merging maintainer: if this is a user-visible change, please update the changelog on the appropriate release branch. |
Contributor
|
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Backport
Backport of #35981
The below text is copied from the body of the original PR.
You can't deal with marks in a function without also dealing with unknowns. If
AllowMarkedis true, butAllowKnownis not, the caller will short-circuit evaluation with an unknown, without being able to deal with marks from all arguments. The cty package can't guarantee that an unknown value contains all possible marks (some functions could alter marks based on the value), but it definitely helps to catch unexpected marks as early as possible during evaluation.Overview of commits
1e01124
c4741dc
a51be5e
651a80f
2ae0174
ac54255
04aee4e
297972e