diff options
| -rw-r--r-- | compiler/rustc_lint/src/early.rs | 8 | ||||
| -rw-r--r-- | src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/compiler/rustc_lint/src/early.rs b/compiler/rustc_lint/src/early.rs index c02465f5979..231edf442eb 100644 --- a/compiler/rustc_lint/src/early.rs +++ b/compiler/rustc_lint/src/early.rs @@ -219,10 +219,10 @@ impl<'a, T: EarlyLintPass> ast_visit::Visitor<'a> for EarlyContextAndPass<'a, T> // Explicitly check for lints associated with 'closure_id', since // it does not have a corresponding AST node - if let ast::ExprKind::Closure(_, asyncness, ..) = e.kind { - if let ast::Async::Yes { closure_id, .. } = asyncness { - self.check_id(closure_id); - } + match e.kind { + ast::ExprKind::Closure(_, ast::Async::Yes { closure_id, .. }, ..) + | ast::ExprKind::Async(_, closure_id, ..) => self.check_id(closure_id), + _ => {} } } 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 index 4f39d088b12..0bbd7dc6c8a 100644 --- 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 @@ -33,4 +33,9 @@ fn main() { fn inner() { let _ = foo!(third); } + + #[allow(semicolon_in_expressions_from_macros)] + async { + let _ = foo!(fourth); + }; } |
