Closed jcheng5 closed 5 years ago
In particular, I found it surprising that !! (and in rlang version 0.3.99.9003, {{...}}) are evaluated at the expect_xxx level.
!!
rlang
{{...}}
expect_xxx
> identical(rlang::expr(!!quote(!!foo)), quote(!!foo)) [1] TRUE > expect_identical(rlang::expr(!!quote(!!foo)), quote(!!foo)) Error in enexpr(expr) : object 'foo' not found
This is relevant for the shinymeta project; in that context, it's easy to break the results by evaluating !! at the wrong moment.
Yes, because we unquoting to generate better failure messages when you're reducing duplication in tests with a for loop or function.
Closing for now, but happy to discuss if you think it's really problematic.
In particular, I found it surprising that
!!
(and inrlang
version 0.3.99.9003,{{...}}
) are evaluated at theexpect_xxx
level.This is relevant for the shinymeta project; in that context, it's easy to break the results by evaluating
!!
at the wrong moment.