Code that used to work in current CRAN release 0.8.3, does not work anymore in recent devel.
Clean R environment, just installed cran remotes and github dplyr, as of 30m ago.
There seems to be a breaking change in the way how .dots argument is processed(?). I haven't found any references in NEWS file regarding this.
suppressMessages(library(dplyr))
data.frame(a=1:2, b=2:3) %>% group_by(.dots = c("a","b")) %>% summarize(count = n())
#Error: The quosure environment should be explicitly supplied as `env`
#Run `rlang::last_error()` to see where the error occurred.
rlang::last_error()
#<error/rlang_error>
#The quosure environment should be explicitly supplied as `env`
#Backtrace:
# 1. base::data.frame(a = 1:2, b = 2:3)
# 9. dplyr::group_by(., .dots = c("a", "b"))
# 10. dplyr::group_by_prepare(.data, ..., .add = .add)
# 11. dplyr:::compat_lazy_dots(.dots)
# 12. dplyr:::compat_lazy(dots[[i]], env, warn)
# 13. rlang::parse_quo(lazy[[1]], env)
#Run `rlang::last_trace()` to see the full context.
rlang::last_trace()
#<error/rlang_error>
#The quosure environment should be explicitly supplied as `env`
#Backtrace:
# █
# 1. └─`%>%`(...)
# 2. ├─base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
# 3. └─base::eval(quote(`_fseq`(`_lhs`)), env, env)
# 4. └─base::eval(quote(`_fseq`(`_lhs`)), env, env)
# 5. └─`_fseq`(`_lhs`)
# 6. └─magrittr::freduce(value, `_function_list`)
# 7. └─function_list[[i]](value)
# 8. ├─dplyr::group_by(., .dots = c("a", "b"))
# 9. └─dplyr:::group_by.data.frame(., .dots = c("a", "b"))
# 10. └─dplyr::group_by_prepare(.data, ..., .add = .add)
# 11. └─dplyr:::compat_lazy_dots(.dots)
# 12. └─dplyr:::compat_lazy(dots[[i]], env, warn)
# 13. └─rlang::parse_quo(lazy[[1]], env)
Code that used to work in current CRAN release 0.8.3, does not work anymore in recent devel.
Clean R environment, just installed cran
remotesand githubdplyr, as of 30m ago.There seems to be a breaking change in the way how
.dotsargument is processed(?). I haven't found any references in NEWS file regarding this.