Fix across()
and cur_data()
to work sequentially
#4912
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.
Closes #4907
This PR fixes both
across()
andcur_data()
when used in sequential expressions.This was actually incredibly hard to get right. This is complicated by the fact that we don't want to resolve "unused" columns, which would mark them as "used", but we still have to check their types in
eval_select()
if something likeacross(is.numeric)
is called.The idea here is to separate the non-group columns that are currently present in the data into two groups. The first group are unused columns, which we pull from the original data. The second are used columns, which we pull from the current bindings.
The good news is that, even though this is more expensive, it is part of the "set up" work that gets cached in #4909. I'll rework that PR on top of this