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().

check_dots_used(env = parent.frame(), action = abort)

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() or rlang::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 : 1 components of `...` were not used. #> #> We detected these problematic arguments: #> * `z` #> #> Did you misspecify an argument?
try(f(x = 1, y = 2, 3, 4, 5))
#> Error : 3 components of `...` were not used. #> #> We detected these problematic arguments: #> * `..3` #> * `..4` #> * `..5` #> #> Did you misspecify an argument?