diff options
Diffstat (limited to 'crates/mbe/src/expander/transcriber.rs')
-rw-r--r-- | crates/mbe/src/expander/transcriber.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/mbe/src/expander/transcriber.rs b/crates/mbe/src/expander/transcriber.rs index dd7fa97d7..9a9c1a467 100644 --- a/crates/mbe/src/expander/transcriber.rs +++ b/crates/mbe/src/expander/transcriber.rs | |||
@@ -55,7 +55,7 @@ pub(super) fn transcribe( | |||
55 | template: &MetaTemplate, | 55 | template: &MetaTemplate, |
56 | bindings: &Bindings, | 56 | bindings: &Bindings, |
57 | ) -> ExpandResult<tt::Subtree> { | 57 | ) -> ExpandResult<tt::Subtree> { |
58 | let mut ctx = ExpandCtx { bindings: &bindings, nesting: Vec::new() }; | 58 | let mut ctx = ExpandCtx { bindings: bindings, nesting: Vec::new() }; |
59 | let mut arena: Vec<tt::TokenTree> = Vec::new(); | 59 | let mut arena: Vec<tt::TokenTree> = Vec::new(); |
60 | expand_subtree(&mut ctx, template, None, &mut arena) | 60 | expand_subtree(&mut ctx, template, None, &mut arena) |
61 | } | 61 | } |
@@ -91,12 +91,12 @@ fn expand_subtree( | |||
91 | Op::Leaf(tt) => arena.push(tt.clone().into()), | 91 | Op::Leaf(tt) => arena.push(tt.clone().into()), |
92 | Op::Subtree { tokens, delimiter } => { | 92 | Op::Subtree { tokens, delimiter } => { |
93 | let ExpandResult { value: tt, err: e } = | 93 | let ExpandResult { value: tt, err: e } = |
94 | expand_subtree(ctx, &tokens, *delimiter, arena); | 94 | expand_subtree(ctx, tokens, *delimiter, arena); |
95 | err = err.or(e); | 95 | err = err.or(e); |
96 | arena.push(tt.into()); | 96 | arena.push(tt.into()); |
97 | } | 97 | } |
98 | Op::Var { name, id, .. } => { | 98 | Op::Var { name, id, .. } => { |
99 | let ExpandResult { value: fragment, err: e } = expand_var(ctx, &name, *id); | 99 | let ExpandResult { value: fragment, err: e } = expand_var(ctx, name, *id); |
100 | err = err.or(e); | 100 | err = err.or(e); |
101 | push_fragment(arena, fragment); | 101 | push_fragment(arena, fragment); |
102 | } | 102 | } |
@@ -141,7 +141,7 @@ fn expand_var(ctx: &mut ExpandCtx, v: &SmolStr, id: tt::TokenId) -> ExpandResult | |||
141 | .into(); | 141 | .into(); |
142 | ExpandResult::ok(Fragment::Tokens(tt)) | 142 | ExpandResult::ok(Fragment::Tokens(tt)) |
143 | } else { | 143 | } else { |
144 | ctx.bindings.get(&v, &mut ctx.nesting).map_or_else( | 144 | ctx.bindings.get(v, &mut ctx.nesting).map_or_else( |
145 | |e| ExpandResult { value: Fragment::Tokens(tt::TokenTree::empty()), err: Some(e) }, | 145 | |e| ExpandResult { value: Fragment::Tokens(tt::TokenTree::empty()), err: Some(e) }, |
146 | |b| ExpandResult::ok(b.clone()), | 146 | |b| ExpandResult::ok(b.clone()), |
147 | ) | 147 | ) |