Automatically sets exit handler to run when function terminates, checking
that all elements of ... have been evaluated. If you use on.exit()
elsewhere in your function, make sure to use add = TRUE so that you
don't override the handler set up by check_dots_used().
Arguments
- env
Environment in which to look for
...and to set up handler.- action
The action to take when the dots have not been used. One of
rlang::abort(),rlang::warn(),rlang::inform()orrlang::signal().
Examples
f <- function(...) {
check_dots_used()
g(...)
}
g <- function(x, y, ...) {
x + y
}
f(x = 1, y = 2)
#> [1] 3
try(f(x = 1, y = 2, z = 3))
#> Error in f(x = 1, y = 2, z = 3) : Arguments in `...` must be used.
#> ✖ Problematic argument:
#> • z = 3
#> ℹ Did you misspell an argument name?
try(f(x = 1, y = 2, 3, 4, 5))
#> Error in f(x = 1, y = 2, 3, 4, 5) :
#> Arguments in `...` must be used.
#> ✖ Problematic arguments:
#> • ..1 = 3
#> • ..2 = 4
#> • ..3 = 5
#> ℹ Did you misspell an argument name?