Check that closures have the proper usage using codetools::checkUsage()
.
Note that this runs base::eval()
on the code, so do not use with untrusted code.
Arguments
- interpret_glue
If
TRUE
, interpretglue::glue()
calls to avoid false positives caused by local variables which are only used in a glue expression.- skip_with
A logical. If
TRUE
(default), code inwith()
expressions will be skipped. This argument will be passed toskipWith
argument ofcodetools::checkUsage()
.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "foo <- function() { x <- 1 }",
linters = object_usage_linter()
)
#> ::warning file=<text>,line=1,col=21::file=<text>,line=1,col=21,[object_usage_linter] local variable 'x' assigned but may not be used
# okay
lint(
text = "foo <- function(x) { x <- 1 }",
linters = object_usage_linter()
)
lint(
text = "foo <- function() { x <- 1; return(x) }",
linters = object_usage_linter()
)