...
can be inserted in a function signature to force users to
fully name the details arguments. In this case, supplying data in
...
is almost always a programming error. This function checks
that ...
is empty and fails otherwise.
check_dots_empty(
env = caller_env(),
error = NULL,
call = caller_env(),
action = abort
)
Environment in which to look for ...
.
An optional error handler passed to try_fetch()
. Use
this e.g. to demote an error into a warning.
The execution environment of a currently
running function, e.g. caller_env()
. The function will be
mentioned in error messages as the source of the error. See the
call
argument of abort()
for more information.
In packages, document ...
with this standard tag:
@inheritParams rlang::args_dots_empty
f <- function(x, ..., foofy = 8) {
check_dots_empty()
x + foofy
}
# This fails because `foofy` can't be matched positionally
try(f(1, 4))
#> Error in f(1, 4) : `...` must be empty.
#> ✖ Problematic argument:
#> • ..1 = 4
#> ℹ Did you forget to name an argument?
# This fails because `foofy` can't be matched partially by name
try(f(1, foof = 4))
#> Error in f(1, foof = 4) : `...` must be empty.
#> ✖ Problematic argument:
#> • foof = 4
# Thanks to `...`, it must be matched exactly
f(1, foofy = 4)
#> [1] 5