rust 宏

macro_rules! four {
    () => {1 + 3};
}

fn main(){
    println!("{}", 1+four!());
    println!("{}", 2+four![]);
    println!("{}", 3+four!{});
} 

HIR阶段是将 你撸的代码转为AST。 宏展开发生在AST阶段。