about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2025-07-27 22:15:40 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2025-07-27 22:15:40 +0000
commit1b01decc1ca851e014b6951bdd7f2ac2f897adc9 (patch)
tree98594b86502ee3c9217f2608b66ebd0432333a18
parentc0fe2858156bc4ef1256fcd839f426c3c10992fc (diff)
downloadrust-1b01decc1ca851e014b6951bdd7f2ac2f897adc9.tar.gz
rust-1b01decc1ca851e014b6951bdd7f2ac2f897adc9.zip
Do not fetch spans if not required.
-rw-r--r--compiler/rustc_privacy/src/lib.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_privacy/src/lib.rs b/compiler/rustc_privacy/src/lib.rs
index ce1c937121e..87d4d180e17 100644
--- a/compiler/rustc_privacy/src/lib.rs
+++ b/compiler/rustc_privacy/src/lib.rs
@@ -1423,8 +1423,6 @@ impl SearchInterfaceForPrivateItemsVisitor<'_> {
         };
 
         let vis = self.tcx.local_visibility(local_def_id);
-        let span = self.tcx.def_span(self.item_def_id.to_def_id());
-        let vis_span = self.tcx.def_span(def_id);
         if self.in_assoc_ty && !vis.is_at_least(self.required_visibility, self.tcx) {
             let vis_descr = match vis {
                 ty::Visibility::Public => "public",
@@ -1441,6 +1439,8 @@ impl SearchInterfaceForPrivateItemsVisitor<'_> {
                 }
             };
 
+            let span = self.tcx.def_span(self.item_def_id.to_def_id());
+            let vis_span = self.tcx.def_span(def_id);
             self.tcx.dcx().emit_err(InPublicInterface {
                 span,
                 vis_descr,
@@ -1463,6 +1463,8 @@ impl SearchInterfaceForPrivateItemsVisitor<'_> {
             } else {
                 lint::builtin::PRIVATE_BOUNDS
             };
+            let span = self.tcx.def_span(self.item_def_id.to_def_id());
+            let vis_span = self.tcx.def_span(def_id);
             self.tcx.emit_node_span_lint(
                 lint,
                 self.tcx.local_def_id_to_hir_id(self.item_def_id),