Some functions in the Tidyverse (e.g. tidyselect::any_of()) have an ellipsis that must remain empty. One can read in the help file of that function:
These dots are for future extensions and must be empty.
I'm wondering what the exact purpose of the ellipsis in this particular case. Is it only to force users to name arguments to avoid possible conflicting arguments/unwanted results in old scripts if a parameter was added in a position other than the last one? Or is there other purposes?
...: These dots are for future extensions and must be empty.
So the ... here forces the users to name the vars argument.
Another possible use is to match S3 generics in S3 methods. I.e. the method must have at least the same arguments as the generic, and many genetics have ..., so the methods have to, as well.