Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/mbe/src/expander/matcher.rs3
-rw-r--r--crates/mbe/src/tt_iter.rs5
2 files changed, 2 insertions, 6 deletions
diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
index 910724411d..074407ea74 100644
--- a/crates/mbe/src/expander/matcher.rs
+++ b/crates/mbe/src/expander/matcher.rs
@@ -697,6 +697,7 @@ fn match_meta_var(kind: &str, input: &mut TtIter) -> ExpandResult<Option<Fragmen
"block" => parser::PrefixEntryPoint::Block,
"meta" => parser::PrefixEntryPoint::MetaItem,
"item" => parser::PrefixEntryPoint::Item,
+ "vis" => parser::PrefixEntryPoint::Vis,
"expr" => {
return input
.expect_fragment(parser::PrefixEntryPoint::Expr)
@@ -728,8 +729,6 @@ fn match_meta_var(kind: &str, input: &mut TtIter) -> ExpandResult<Option<Fragmen
})
.map_err(|()| err!())
}
- // `vis` is optional
- "vis" => Ok(input.expect_fragment(parser::PrefixEntryPoint::Vis).value),
_ => Err(ExpandError::UnexpectedToken),
};
return tt_result.map(|it| it.map(Fragment::Tokens)).into();
diff --git a/crates/mbe/src/tt_iter.rs b/crates/mbe/src/tt_iter.rs
index 172916c5a1..9d2b1da9ab 100644
--- a/crates/mbe/src/tt_iter.rs
+++ b/crates/mbe/src/tt_iter.rs
@@ -114,7 +114,7 @@ impl<'a> TtIter<'a> {
}
}
- let mut err = if !cursor.is_root() || error {
+ let err = if error || !cursor.is_root() {
Some(err!("expected {:?}", entry_point))
} else {
None
@@ -132,9 +132,6 @@ impl<'a> TtIter<'a> {
}
}
self.inner = self.inner.as_slice()[res.len()..].iter();
- if res.is_empty() && err.is_none() {
- err = Some(err!("no tokens consumed"));
- }
let res = match res.len() {
1 => Some(res[0].cloned()),
0 => None,