// Check that `?Trait` matches the macro fragment specifier `ty`. // Syntactically trait object types can be "bare" (i.e., lack the prefix `dyn`), // even in newer editions like Rust 2021. // Therefore the arm `?$Trait:path` shouldn't get reached. //@ edition: 2021 //@ check-pass macro_rules! check { ($Ty:ty) => {}; (?$Trait:path) => { compile_error!("non-ty"); }; } check! { ?Trait } fn main() {}