| // check-pass | |
| // ignore-pretty pretty-printing is unhygienic | |
| #![feature(decl_macro)] | |
| mod bar { | |
| mod baz { | |
| pub fn f() {} | |
| } | |
| pub macro m($f:ident) { | |
| baz::f(); | |
| let _: i32 = $f(); | |
| { | |
| fn $f() -> u32 { 0 } | |
| let _: u32 = $f(); | |
| } | |
| } | |
| } | |
| fn main() { | |
| fn f() -> i32 { 0 } | |
| bar::m!(f); | |
| } |