about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-05-09 07:54:18 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-05-09 07:54:18 +0000
commitb7f570fff3e582e2ffb8bce3ea698b6bc8f4ccef (patch)
tree62f237e4afed719076ee59d9d41a266df825b5ff
parent33a01e2e93bfdd0c37649c6f82172644b8315b55 (diff)
downloadrust-b7f570fff3e582e2ffb8bce3ea698b6bc8f4ccef.tar.gz
rust-b7f570fff3e582e2ffb8bce3ea698b6bc8f4ccef.zip
Keep encoding attributes for closures
-rw-r--r--compiler/rustc_metadata/src/rmeta/encoder.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs
index 82c66b9dfb9..29cf432b8f9 100644
--- a/compiler/rustc_metadata/src/rmeta/encoder.rs
+++ b/compiler/rustc_metadata/src/rmeta/encoder.rs
@@ -862,6 +862,11 @@ fn should_encode_attrs(def_kind: DefKind) -> bool {
         | DefKind::Macro(_)
         | DefKind::Field
         | DefKind::Impl { .. } => true,
+        // Tools may want to be able to detect their tool lints on
+        // closures from upstream crates, too. This is used by
+        // https://github.com/model-checking/kani and is not a performance
+        // or maintenance issue for us.
+        DefKind::Closure => true,
         DefKind::TyParam
         | DefKind::ConstParam
         | DefKind::Ctor(..)
@@ -874,7 +879,6 @@ fn should_encode_attrs(def_kind: DefKind) -> bool {
         | DefKind::ImplTraitPlaceholder
         | DefKind::LifetimeParam
         | DefKind::GlobalAsm
-        | DefKind::Closure
         | DefKind::Generator => false,
     }
 }