From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- .../semicolon-in-expressions-from-macros.rs | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs (limited to 'src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs') diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs new file mode 100644 index 000000000..fff380934 --- /dev/null +++ b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs @@ -0,0 +1,51 @@ +// check-pass +// edition:2018 +#![feature(stmt_expr_attributes)] +#![warn(semicolon_in_expressions_from_macros)] + +#[allow(dead_code)] +macro_rules! foo { + ($val:ident) => { + true; //~ WARN trailing semicolon in macro + //~| WARN this was previously accepted + //~| WARN trailing semicolon in macro + //~| WARN this was previously accepted + //~| WARN trailing semicolon in macro + //~| WARN this was previously accepted + } +} + +#[allow(semicolon_in_expressions_from_macros)] +async fn bar() { + foo!(first); +} + +fn main() { + #[allow(semicolon_in_expressions_from_macros)] + let _ = { + foo!(first) + }; + + #[allow(semicolon_in_expressions_from_macros)] + let _ = foo!(second); + + #[allow(semicolon_in_expressions_from_macros)] + fn inner() { + let _ = foo!(third); + } + + #[allow(semicolon_in_expressions_from_macros)] + async { + let _ = foo!(fourth); + }; + + let _ = { + foo!(warn_in_block) + }; + + let _ = foo!(warn_in_expr); + + // This `#[allow]` does not work, since the attribute gets dropped + // when we expand the macro + let _ = #[allow(semicolon_in_expressions_from_macros)] foo!(allow_does_not_work); +} -- cgit v1.2.3