8 macro_rules! unhygienic_macro {
10 // (1) unhygienic: depends on `my_crate` in the crate root at the invocation site.
13 // (2) unhygienic: defines `f` at the invocation site (in addition to the above point).
17 g(); // (3) unhygienic: `g` needs to be in scope at use site.
19 $crate::g(); // (4) hygienic: this always resolves to (a)
24 fn test_unhygienic() {
26 f(); // `f` was defined at the use site