about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonas Schievink <jonas.schievink@ferrous-systems.com>2022-04-07 15:22:11 +0200
committerJonas Schievink <jonas.schievink@ferrous-systems.com>2022-04-07 15:22:11 +0200
commit6501e45131d689053e32e7775a7ed04e488a419e (patch)
treea994fb717a0fea04484a6a3dc47f96450f8632f1
parent134dbc6104e906a14c331bda9a388eda1af92f2d (diff)
downloadrust-6501e45131d689053e32e7775a7ed04e488a419e.tar.gz
rust-6501e45131d689053e32e7775a7ed04e488a419e.zip
Remove `FnFlags::IS_IN_EXTERN_BLOCK`
-rw-r--r--crates/hir_def/src/data.rs8
-rw-r--r--crates/hir_def/src/item_tree.rs3
-rw-r--r--crates/hir_ty/src/diagnostics/decl_check.rs5
3 files changed, 3 insertions, 13 deletions
diff --git a/crates/hir_def/src/data.rs b/crates/hir_def/src/data.rs
index ffb733c2b97..8e0bb0c34d3 100644
--- a/crates/hir_def/src/data.rs
+++ b/crates/hir_def/src/data.rs
@@ -57,10 +57,6 @@ impl FunctionData {
             flags.bits |= FnFlags::IS_VARARGS;
         }
 
-        if matches!(loc.container, ItemContainerId::ExternBlockId(_)) {
-            flags.bits |= FnFlags::IS_IN_EXTERN_BLOCK;
-        }
-
         let legacy_const_generics_indices = item_tree
             .attrs(db, krate, ModItem::from(loc.id.value).into())
             .by_key("rustc_legacy_const_generics")
@@ -114,10 +110,6 @@ impl FunctionData {
         self.flags.bits & FnFlags::IS_UNSAFE != 0
     }
 
-    pub fn is_in_extern_block(&self) -> bool {
-        self.flags.bits & FnFlags::IS_IN_EXTERN_BLOCK != 0
-    }
-
     pub fn is_varargs(&self) -> bool {
         self.flags.bits & FnFlags::IS_VARARGS != 0
     }
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs
index 4bde87b8d48..bf60c6bc6af 100644
--- a/crates/hir_def/src/item_tree.rs
+++ b/crates/hir_def/src/item_tree.rs
@@ -612,9 +612,6 @@ impl FnFlags {
     pub(crate) const IS_CONST: u8 = 1 << 3;
     pub(crate) const IS_ASYNC: u8 = 1 << 4;
     pub(crate) const IS_UNSAFE: u8 = 1 << 5;
-    /// Whether the function is located in an `extern` block (*not* whether it is an
-    /// `extern "abi" fn`).
-    pub(crate) const IS_IN_EXTERN_BLOCK: u8 = 1 << 6;
     pub(crate) const IS_VARARGS: u8 = 1 << 7;
 }
 
diff --git a/crates/hir_ty/src/diagnostics/decl_check.rs b/crates/hir_ty/src/diagnostics/decl_check.rs
index 9e1f9340342..f7031a8546a 100644
--- a/crates/hir_ty/src/diagnostics/decl_check.rs
+++ b/crates/hir_ty/src/diagnostics/decl_check.rs
@@ -19,7 +19,8 @@ use hir_def::{
     adt::VariantData,
     expr::{Pat, PatId},
     src::HasSource,
-    AdtId, AttrDefId, ConstId, EnumId, FunctionId, Lookup, ModuleDefId, StaticId, StructId,
+    AdtId, AttrDefId, ConstId, EnumId, FunctionId, ItemContainerId, Lookup, ModuleDefId, StaticId,
+    StructId,
 };
 use hir_expand::{
     name::{AsName, Name},
@@ -198,7 +199,7 @@ impl<'a> DeclValidator<'a> {
 
     fn validate_func(&mut self, func: FunctionId) {
         let data = self.db.function_data(func);
-        if data.is_in_extern_block() {
+        if matches!(func.lookup(self.db.upcast()).container, ItemContainerId::ExternBlockId(_)) {
             cov_mark::hit!(extern_func_incorrect_case_ignored);
             return;
         }