error[E0609]: no field `trace` on type `&T` --> $DIR/issue-31011.rs:3:17 | LL | if $ctx.trace { | ^^^^^ unknown field ... LL | fn wrap(context: &T) -> () | - type parameter 'T' declared here LL | { LL | log!(context, "entered wrapper"); | -------------------------------- in this macro invocation | = note: this error originates in the macro `log` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0609`.