More C API compliance work #1844
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.
Quite a few R 4.5.0 helpers to make some more progress here. Commits are self contained.
Before / after
Fully dropped
Not shown but also dropped for vctrs via this
Remaining
RESIZE(), no known plan here yetfn_zap_srcref(), could probably make a new function instead? We already do a clone of the function itself, so probably just as expensive. (RemoveSET_BODY()usage #1845)on_exit_restore_lexical_env()but it looks like you can just make a new function here too? (RemoveSET_CLOENV()usage #1846)r_env_poke_parent()used in lots of tidy-eval things (RemoveSET_ENCLOS()usage #1847)May make follow up PRs for SET_BODY and SET_CLOENV, but they are more complicated so should be their own PRs