From 0d9210e9bc807ce64ea5fa694abb331ee5370c26 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 31 Jan 2019 12:03:16 +0300 Subject: handle multibyte tokens --- crates/ra_hir/src/macros/mbe.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'crates/ra_hir/src/macros/mbe.rs') diff --git a/crates/ra_hir/src/macros/mbe.rs b/crates/ra_hir/src/macros/mbe.rs index 3d6dcefa8..62b7fa24c 100644 --- a/crates/ra_hir/src/macros/mbe.rs +++ b/crates/ra_hir/src/macros/mbe.rs @@ -86,14 +86,17 @@ pub(crate) fn parse(tt: &tt::Subtree) -> Option { fn parse_rule(p: &mut RulesParser) -> Option { let lhs = parse_subtree(p.eat_subtree()?)?; - p.eat_punct('='); - p.eat_punct('>'); + p.eat_punct('=')?; + p.eat_punct('>')?; let rhs = parse_subtree(p.eat_subtree()?)?; Some(Rule { lhs, rhs }) } fn parse_subtree(tt: &tt::Subtree) -> Option { - None + Some(Subtree { + token_trees: Vec::new(), + delimiter: Delimiter::None, + }) } struct RulesParser<'a> { -- cgit v1.2.3