Here is a situation where using cur_data() and across() yields the same result:
library(tidyverse)
by_cyl <- mtcars %>% group_by(cyl)
a <- summarise(by_cyl,head(cur_data(), 2))
b <- summarise(by_cyl,head(across(), 2)))
identical(a,b)
#TRUE
My question is what is the difference between these two functions? When are they interchangeable and when are they not?