Require R >=3.5.0 and remove release_all()#332
Merged
DavisVaughan merged 4 commits intor-lib:mainfrom Aug 3, 2023
Merged
Conversation
lionel-
approved these changes
Aug 3, 2023
At this point in r-lib and the tidyverse we typically require R >= 3.6.0, so it is reasonable to finally require this and remove our suboptimal fallback paths.
Which no longer make sense if we have 1 preserve list per compilation unit and require R >=3.5.0. It does not seem to be used by anyone.
1a02484 to
398ac94
Compare
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.
Tied to #331, where we switch from a global preserve list to 1 preserve list per compilation unit.
release_all()was intended to support experts that wanted to manually release cpp11 protected objects on R < 3.5.0, but it no longer is applicable for a few reasons:.Call()boundary)No one was using
release_all()as far as we can tell.I've also bumped the minimum R version to >=3.5.0, so we no longer need code that supports the "old times" before we had access to
R_UnwindProtect(). To this end, I've removedCPP11_USE_PRESERVE_OBJECTas well.I've kept some details in the internals vignette, because I think the discussion of the alternative approaches is still useful for historical context.