effects: give the most conservative effects to unhandled builtins #57856
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.
This commit fixes a bug where
builtin_tfunction
was giving the wrong effects to builtins that weren't actually implemented. xref: #57806 (comment)Now, when we add new builtins, unless we manually update
_EFFECTS_KNOWN_BUILTINS
, they'll automatically get the most conservativeEffects()
.Effects for builtins like
getglobal
are calculated individually insideabstract_call_builtin
, so there is no handling for them withinbuiltin_effects
and thus they aren't in_EFFECTS_KNOWN_BUILTINS
. If we want to give these built-ins a betterstmt_effect_flag
, we need to handle it inbuiltin_effects
properly.