diff options
Diffstat (limited to 'crates/ra_mbe/src/mbe_parser.rs')
-rw-r--r-- | crates/ra_mbe/src/mbe_parser.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/ra_mbe/src/mbe_parser.rs b/crates/ra_mbe/src/mbe_parser.rs index a3e6abffc..abad2e8c8 100644 --- a/crates/ra_mbe/src/mbe_parser.rs +++ b/crates/ra_mbe/src/mbe_parser.rs | |||
@@ -7,7 +7,13 @@ pub(crate) fn parse(tt: &tt::Subtree) -> Option<crate::MacroRules> { | |||
7 | let mut parser = TtCursor::new(tt); | 7 | let mut parser = TtCursor::new(tt); |
8 | let mut rules = Vec::new(); | 8 | let mut rules = Vec::new(); |
9 | while !parser.is_eof() { | 9 | while !parser.is_eof() { |
10 | rules.push(parse_rule(&mut parser)?) | 10 | rules.push(parse_rule(&mut parser)?); |
11 | if parser.expect_char(';') == None { | ||
12 | if !parser.is_eof() { | ||
13 | return None; | ||
14 | } | ||
15 | break; | ||
16 | } | ||
11 | } | 17 | } |
12 | Some(crate::MacroRules { rules }) | 18 | Some(crate::MacroRules { rules }) |
13 | } | 19 | } |