//@ check-pass // Here we check that a `:vis` macro matcher subsititued for the empty visibility // (`VisibilityKind::Inherited`) is accepted when used before an item in a trait. fn main() {} macro_rules! mac_in_trait { ($vis:vis MARKER) => { $vis fn beta() {} $vis const GAMMA: u8; $vis type Delta; } } trait Alpha { mac_in_trait!(MARKER); } // We also accept visibilities on items in traits syntactically but not semantically. #[cfg(FALSE)] trait Foo { pub fn bar(); pub(crate) type baz; pub(super) const QUUX: u8; }