Use pattern_single instead of pattern in mbe pat

This commit is contained in:
Edwin Cheng 2020-12-20 17:13:40 +08:00
parent f3125555a8
commit f942d10e80
3 changed files with 14 additions and 2 deletions

View file

@ -1003,6 +1003,18 @@ fn test_underscore() {
.assert_expand_items(r#"foo! { => }"#, r#"0"#);
}
#[test]
fn test_vertical_bar_with_pat() {
parse_macro(
r#"
macro_rules! foo {
(| $pat:pat | ) => { 0 }
}
"#,
)
.assert_expand_items(r#"foo! { | x | }"#, r#"0"#);
}
#[test]
fn test_lifetime() {
parse_macro(

View file

@ -55,7 +55,7 @@ pub(crate) mod fragments {
use super::*;
pub(crate) use super::{
expressions::block_expr, paths::type_path as path, patterns::pattern, types::type_,
expressions::block_expr, paths::type_path as path, patterns::pattern_single, types::type_,
};
pub(crate) fn expr(p: &mut Parser) {

View file

@ -112,7 +112,7 @@ pub fn parse_fragment(
FragmentKind::Path => grammar::fragments::path,
FragmentKind::Expr => grammar::fragments::expr,
FragmentKind::Type => grammar::fragments::type_,
FragmentKind::Pattern => grammar::fragments::pattern,
FragmentKind::Pattern => grammar::fragments::pattern_single,
FragmentKind::Item => grammar::fragments::item,
FragmentKind::Block => grammar::fragments::block_expr,
FragmentKind::Visibility => grammar::fragments::opt_visibility,