rust/tests/ui/parser/macro/mbe-bare-trait-object-maybe-trait-bound.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

17 lines
412 B
Rust
Raw Normal View History

// 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() {}