diff options
Diffstat (limited to 'crates/ra_mbe/src/syntax_bridge.rs')
-rw-r--r-- | crates/ra_mbe/src/syntax_bridge.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_mbe/src/syntax_bridge.rs b/crates/ra_mbe/src/syntax_bridge.rs index a380b1cfd..26524adf9 100644 --- a/crates/ra_mbe/src/syntax_bridge.rs +++ b/crates/ra_mbe/src/syntax_bridge.rs | |||
@@ -70,7 +70,14 @@ fn fragment_to_syntax_node( | |||
70 | tt: &tt::Subtree, | 70 | tt: &tt::Subtree, |
71 | fragment_kind: FragmentKind, | 71 | fragment_kind: FragmentKind, |
72 | ) -> Result<Parse<SyntaxNode>, ExpandError> { | 72 | ) -> Result<Parse<SyntaxNode>, ExpandError> { |
73 | let tokens = [tt.clone().into()]; | 73 | let tmp; |
74 | let tokens = match tt { | ||
75 | tt::Subtree { delimiter: tt::Delimiter::None, token_trees } => token_trees.as_slice(), | ||
76 | _ => { | ||
77 | tmp = [tt.clone().into()]; | ||
78 | &tmp[..] | ||
79 | } | ||
80 | }; | ||
74 | let buffer = TokenBuffer::new(&tokens); | 81 | let buffer = TokenBuffer::new(&tokens); |
75 | let mut token_source = SubtreeTokenSource::new(&buffer); | 82 | let mut token_source = SubtreeTokenSource::new(&buffer); |
76 | let mut tree_sink = TtTreeSink::new(buffer.begin()); | 83 | let mut tree_sink = TtTreeSink::new(buffer.begin()); |