26 lines
450 B
Rust
26 lines
450 B
Rust
//@ run-pass
|
|
#![allow(unused_macro_rules)]
|
|
|
|
macro_rules! m {
|
|
($e:expr) => {
|
|
"expr includes attr"
|
|
};
|
|
(#[$attr:meta] $e:expr) => {
|
|
"expr excludes attr"
|
|
}
|
|
}
|
|
|
|
macro_rules! n {
|
|
(#[$attr:meta] $e:expr) => {
|
|
"expr excludes attr"
|
|
};
|
|
($e:expr) => {
|
|
"expr includes attr"
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
assert_eq!(m!(#[attr] 1), "expr includes attr");
|
|
assert_eq!(n!(#[attr] 1), "expr excludes attr");
|
|
}
|