7060: Fix mbe fail to pass expr with attr r=edwin0cheng a=edwin0cheng

bors r+

Fixes #5896

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
This commit is contained in:
bors[bot] 2020-12-28 12:34:19 +00:00 committed by GitHub
commit 77ad203a71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 3 deletions

View File

@ -677,7 +677,7 @@ fn macro_expansion_overflow() {
r#"
macro_rules! a {
($e:expr; $($t:tt)*) => {
b!($($t)*);
b!(static = (); $($t)*);
};
() => {};
}
@ -689,7 +689,7 @@ macro_rules! b {
() => {};
}
b! { static = #[] (); }
b! { static = #[] ();}
"#,
expect![[r#"
crate

View File

@ -760,6 +760,18 @@ macro_rules! vec {
);
}
#[test]
fn test_expr_with_attr() {
parse_macro(
r#"
macro_rules! m {
($a:expr) => {0}
}
"#,
)
.assert_expand_items("m!(#[allow(a)]())", "0");
}
#[test]
fn test_ty() {
parse_macro(

View File

@ -59,7 +59,7 @@ pub(crate) mod fragments {
};
pub(crate) fn expr(p: &mut Parser) {
let _ = expressions::expr(p);
let _ = expressions::expr_with_attrs(p);
}
pub(crate) fn stmt(p: &mut Parser) {