mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 17:24:06 +00:00
26 lines
449 B
Rust
26 lines
449 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");
|
|
}
|