Skip to content

Conversation

@jennybc
Copy link
Member

@jennybc jennybc commented Jan 6, 2026

Closes #594

@DavisVaughan I'm asking for review just to get a second set of eyeballs on this and make sure I'm not missing any obvious downside. I feel like this is a net positive for the codebase.

More context re: why I want to clean up dusty bits: I have a medium term goal of moving the guts of vroom into readr (readr really is vroom at this point, for the vast majority of usage) and thereby eliminating lots of annoyance around maintenance, documentation, error messaging, name collisions, etc. At the same time, standalone vroom would be put into a frozen state and on a path to eventual archival.

@jennybc jennybc changed the title Get rid of HAS_ALTREP. We always have altrep. Remove arrangements for older versions of R the vroom does not support Jan 6, 2026
@jennybc jennybc changed the title Remove arrangements for older versions of R the vroom does not support Remove arrangements for older versions of R that vroom does not support Jan 6, 2026
@jennybc jennybc requested a review from DavisVaughan January 6, 2026 23:57
which$int %||% vroom_use_altrep_int(),
which$dbl %||% vroom_use_altrep_dbl(),
which$num %||% vroom_use_altrep_num(),
which$lgl %||% vroom_use_altrep_lgl(),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vroom actually does not ever use altrep for logical columns, but I gather there must have been some thought that it might one day? Anyway, I'm not getting into that here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably the fact that it didn't exist in 3.5 delayed its implementation, and then it was never added later on?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah? But I also think the performance argument is so different (less compelling) for logical. I'd at least want to look into that quantitatively before ever considering adding that feature.

Comment on lines -210 to -214
// if (collector.use_altrep()) {
//#if defined HAS_ALTREP && R_VERSION >= R_Version(3, 6, 0)
// SET_VECTOR_ELT(res, i, vroom_lgl::Make(info));
//#endif
//} else {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More evidence of vague-but-unrealized plans around altrep logical columns.

Comment on lines -239 to -247
## RStudio caveats

RStudio’s environment pane calls `object.size()` when it refreshes the
pane, which for Altrep objects can be extremely slow. RStudio 1.2.1335+
includes the fixes
([RStudio#4210](https://github.com/rstudio/rstudio/pull/4210),
[RStudio#4292](https://github.com/rstudio/rstudio/pull/4292)) for this
issue, so it is recommended you use at least that version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now feels like ancient history that need not be mentioned.

#undef FALSE
#include <cpp11/logicals.hpp>

#ifdef VROOM_USE_CONNECTIONS_API
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The connections API never happened (or un-happened, I guess), so doing some cleanup around that too.

Copy link
Member

@DavisVaughan DavisVaughan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, i did a similar purge in vctrs recently. Very cathartic!

which$int %||% vroom_use_altrep_int(),
which$dbl %||% vroom_use_altrep_dbl(),
which$num %||% vroom_use_altrep_num(),
which$lgl %||% vroom_use_altrep_lgl(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably the fact that it didn't exist in 3.5 delayed its implementation, and then it was never added later on?

@jennybc jennybc merged commit 162334a into main Jan 9, 2026
18 checks passed
@jennybc jennybc deleted the stop-worrying-about-R-lt-4-1 branch January 9, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove guards and workarounds form R < 4.1

3 participants