diff options
Diffstat (limited to 'crates/mbe/src/lib.rs')
-rw-r--r-- | crates/mbe/src/lib.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/crates/mbe/src/lib.rs b/crates/mbe/src/lib.rs index 7878faaa4..19543d777 100644 --- a/crates/mbe/src/lib.rs +++ b/crates/mbe/src/lib.rs | |||
@@ -24,7 +24,7 @@ use crate::{ | |||
24 | #[derive(Debug, PartialEq, Eq)] | 24 | #[derive(Debug, PartialEq, Eq)] |
25 | pub enum ParseError { | 25 | pub enum ParseError { |
26 | Expected(String), | 26 | Expected(String), |
27 | RepetitionEmtpyTokenTree, | 27 | RepetitionEmptyTokenTree, |
28 | } | 28 | } |
29 | 29 | ||
30 | #[derive(Debug, PartialEq, Eq, Clone)] | 30 | #[derive(Debug, PartialEq, Eq, Clone)] |
@@ -217,18 +217,14 @@ impl MacroRules { | |||
217 | 217 | ||
218 | impl Rule { | 218 | impl Rule { |
219 | fn parse(src: &mut TtIter) -> Result<Rule, ParseError> { | 219 | fn parse(src: &mut TtIter) -> Result<Rule, ParseError> { |
220 | let mut lhs = src | 220 | let lhs = src |
221 | .expect_subtree() | 221 | .expect_subtree() |
222 | .map_err(|()| ParseError::Expected("expected subtree".to_string()))? | 222 | .map_err(|()| ParseError::Expected("expected subtree".to_string()))?; |
223 | .clone(); | ||
224 | lhs.delimiter = None; | ||
225 | src.expect_char('=').map_err(|()| ParseError::Expected("expected `=`".to_string()))?; | 223 | src.expect_char('=').map_err(|()| ParseError::Expected("expected `=`".to_string()))?; |
226 | src.expect_char('>').map_err(|()| ParseError::Expected("expected `>`".to_string()))?; | 224 | src.expect_char('>').map_err(|()| ParseError::Expected("expected `>`".to_string()))?; |
227 | let mut rhs = src | 225 | let rhs = src |
228 | .expect_subtree() | 226 | .expect_subtree() |
229 | .map_err(|()| ParseError::Expected("expected subtree".to_string()))? | 227 | .map_err(|()| ParseError::Expected("expected subtree".to_string()))?; |
230 | .clone(); | ||
231 | rhs.delimiter = None; | ||
232 | 228 | ||
233 | let lhs = MetaTemplate { tokens: parse_pattern(&lhs), delimiter: None }; | 229 | let lhs = MetaTemplate { tokens: parse_pattern(&lhs), delimiter: None }; |
234 | let rhs = MetaTemplate { tokens: parse_template(&rhs), delimiter: None }; | 230 | let rhs = MetaTemplate { tokens: parse_template(&rhs), delimiter: None }; |
@@ -274,7 +270,7 @@ fn validate(pattern: &MetaTemplate) -> Result<(), ParseError> { | |||
274 | } | 270 | } |
275 | false | 271 | false |
276 | }) { | 272 | }) { |
277 | return Err(ParseError::RepetitionEmtpyTokenTree); | 273 | return Err(ParseError::RepetitionEmptyTokenTree); |
278 | } | 274 | } |
279 | } | 275 | } |
280 | validate(subtree)? | 276 | validate(subtree)? |