In S3 generics, it's useful to take ... so that methods can have additional argument. But this flexibility comes at a cost: misspelled arguments will be silently ignored. The ellipsis packages is an experiment that allows a generic to warn if any arguments passed in ... are not used.
... to an S3 generic allows methods to take additional
arguments, but it comes with a big downside: any misspelled or extraneous
arguments will be silently ignored. This package explores an approach to
... safer, by supply a function that a generic can use to warn
if any elements of
... were not evaluated.
In the long run, this code is likely to live elsewhere (maybe R-core might be interested in making it part of base R). This repository tracks the current state of the experiment.
safe_median() works like
median() but warns if any elements of
are never evaluated
library(ellipsis)x <- c(1:10, NA)safe_median(x)#>  5.5safe_median(x, TRUE)#> Warning: Some components of ... were not used: ..1#>  5.5safe_median(x, na.rm = TRUE)#>  5.5safe_median(x, na.mr = TRUE)#> Warning: Some components of ... were not used: na.mr#>  5.5
check_dots_unnamed() that checks that all components of
Fix a bug that caused
check_dots_used() to emit many false positives (#8)