]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs
Auto merge of #87998 - nneonneo:master, r=oli-obk
[rust.git] / compiler / rustc_borrowck / src / diagnostics / conflict_errors.rs
index b69df438b61c556156c120c26aa92c31426bef14..37398894a202bf5829ba048de43326427bf4784f 100644 (file)
@@ -217,7 +217,19 @@ pub(crate) fn report_use_of_moved_or_uninitialized(
                             );
                             if self.fn_self_span_reported.insert(fn_span) {
                                 err.span_note(
-                                    self_arg.span,
+                                    // Check whether the source is accessible
+                                    if self
+                                        .infcx
+                                        .tcx
+                                        .sess
+                                        .source_map()
+                                        .span_to_snippet(self_arg.span)
+                                        .is_ok()
+                                    {
+                                        self_arg.span
+                                    } else {
+                                        fn_call_span
+                                    },
                                     "calling this operator moves the left-hand side",
                                 );
                             }
@@ -428,7 +440,10 @@ pub(crate) fn report_use_of_moved_or_uninitialized(
                     deref_target_ty
                 ));
 
-                err.span_note(deref_target, "deref defined here");
+                // Check first whether the source is accessible (issue #87060)
+                if self.infcx.tcx.sess.source_map().span_to_snippet(deref_target).is_ok() {
+                    err.span_note(deref_target, "deref defined here");
+                }
             }
 
             if let Some((_, mut old_err)) =