1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
//@ 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;
}
|