Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/mbe/src/expander/matcher.rs')
-rw-r--r--crates/mbe/src/expander/matcher.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
index b5d1e098c4..03ada8b2b9 100644
--- a/crates/mbe/src/expander/matcher.rs
+++ b/crates/mbe/src/expander/matcher.rs
@@ -693,7 +693,14 @@ fn match_meta_var(kind: &str, input: &mut TtIter) -> ExpandResult<Option<Fragmen
"path" => ParserEntryPoint::Path,
"expr" => ParserEntryPoint::Expr,
"ty" => ParserEntryPoint::Type,
- "pat" | "pat_param" => ParserEntryPoint::Pattern, // FIXME: edition2021
+ // FIXME: These two should actually behave differently depending on the edition.
+ //
+ // https://doc.rust-lang.org/edition-guide/rust-2021/or-patterns-macro-rules.html
+ "pat" | "pat_param" => {
+ return input
+ .expect_fragment2(parser::PrefixEntryPoint::Pat)
+ .map(|tt| tt.map(Fragment::Tokens));
+ }
"stmt" => {
return input
.expect_fragment2(parser::PrefixEntryPoint::Stmt)