about summary refs log tree commit diff
path: root/compiler/rustc_middle/src
diff options
context:
space:
mode:
authoryukang <moorekang@gmail.com>2023-08-02 16:17:31 +0800
committeryukang <moorekang@gmail.com>2023-08-02 16:32:49 +0800
commitac25636a8f1efa40d368eaec363b01b748e193a1 (patch)
treef0c89cfae1e716e6da4f9d1af99c581ea55b24ba /compiler/rustc_middle/src
parent75b9f53e47d8a9765bbd54372b94040debcf1eef (diff)
fix RedundantLocals clippy caused by async and await
Diffstat (limited to 'compiler/rustc_middle/src')
-rw-r--r--compiler/rustc_middle/src/lint.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/lint.rs b/compiler/rustc_middle/src/lint.rs
index 7cdfeb995ab..f62e406692a 100644
--- a/compiler/rustc_middle/src/lint.rs
+++ b/compiler/rustc_middle/src/lint.rs
@@ -463,3 +463,12 @@ pub fn in_external_macro(sess: &Session, span: Span) -> bool {
         ExpnKind::Macro { .. } => true, // definitely a plugin
     }
 }
+
+/// Return whether `span` is generated by `async` or `await`.
+pub fn is_from_async_await(span: Span) -> bool {
+    let expn_data = span.ctxt().outer_expn_data();
+    match expn_data.kind {
+        ExpnKind::Desugaring(DesugaringKind::Async | DesugaringKind::Await) => true,
+        _ => false,
+    }
+}