The 0-suffixed variants of enquo() and enquos() defuse function arguments without automatic injection (unquotation). They are useful when defusing expressions that potentially include !!, !!!, or {{ operations, for instance tidyverse code. In that case, enquo() would process these operators too early, creating a confusing experience for users. Callers can still inject objects or expressions using manual injection with inject().

enquo0(arg)

enquos0(...)

Arguments

arg

A symbol for a function argument to defuse.

...

Dots to defuse.

Details

None of the features of dynamic dots are available when defusing with enquos0(). For instance, trailing empty arguments are not automatically trimmed.

See also

Examples

automatic_injection <- function(x) enquo(x)
no_injection <- function(x) enquo0(x)

automatic_injection(foo(!!!1:3))
#> <quosure>
#> expr: ^foo(1L, 2L, 3L)
#> env:  0x560eb0785550
no_injection(foo(!!!1:3))
#> <quosure>
#> expr: ^foo(!!!1:3)
#> env:  0x560eb0785550