From 11aa61557547aa4d9db8855eb8e43bc4fa75f3db Mon Sep 17 00:00:00 2001 From: Arthur Milchior Date: Mon, 29 Jan 2024 20:53:39 +0100 Subject: [PATCH] Improving macro expansion section (#1875) --- src/macro-expansion.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/macro-expansion.md b/src/macro-expansion.md index f3883223d..0e1c72e72 100644 --- a/src/macro-expansion.md +++ b/src/macro-expansion.md @@ -292,13 +292,8 @@ macro_rules! foo { () => { println!(); } } fn main() { foo!(); } ``` -In this code, the AST nodes that are finally generated would have hierarchy: - -``` -root - expn_id_foo - expn_id_println -``` +In this code, the AST nodes that are finally generated would have hierarchy +`root -> id(foo) -> id(println)`. ### The Macro Definition Hierarchy @@ -397,8 +392,9 @@ macro foo($i: ident) { $i } foo!(bar!(baz)); ``` -For the `baz` AST node in the final output, the first hierarchy is `ROOT -> -id(foo) -> id(bar) -> baz`, while the third hierarchy is `ROOT -> baz`. +For the `baz` AST node in the final output, the expansion-order hierarchy is +`ROOT -> id(foo) -> id(bar) -> baz`, while the call-site hierarchy is `ROOT -> +baz`. ### Macro Backtraces