diff options
| author | bors <bors@rust-lang.org> | 2021-03-12 09:05:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-03-12 09:05:38 +0000 |
| commit | 0cc64a34e9823a4ce6491dc5e13e920cd4f5aa31 (patch) | |
| tree | dbf82e6f2a66e98345aa2054823f8ce383bb5e30 /compiler | |
| parent | 77b996e1c628e8089f058244b011a2ee945a8984 (diff) | |
| parent | 26478c81fd3152eb0d272209dc02cdacfcb22aba (diff) | |
Auto merge of #82935 - henryboisdequin:diagnostic-cleanups, r=estebank
Diagnostic cleanups Follow up to #81503 Helps with #82916 (don't show note if `span` is `DUMMY_SP`)
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs | 13 | ||||
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs b/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs index 24b9408ffb6..eb942b195b2 100644 --- a/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs +++ b/compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs @@ -13,7 +13,7 @@ use rustc_middle::mir::{ use rustc_middle::ty::{self, suggest_constraining_type_param, Ty, TypeFoldable}; use rustc_span::source_map::DesugaringKind; use rustc_span::symbol::sym; -use rustc_span::Span; +use rustc_span::{Span, DUMMY_SP}; use crate::dataflow::drop_flag_effects; use crate::dataflow::indexes::{MoveOutIndex, MovePathIndex}; @@ -216,12 +216,13 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { ); } // Avoid pointing to the same function in multiple different - // error messages - if self.fn_self_span_reported.insert(self_arg.span) { + // error messages. + if span != DUMMY_SP && self.fn_self_span_reported.insert(self_arg.span) + { err.span_note( - self_arg.span, - &format!("this function takes ownership of the receiver `self`, which moves {}", place_name) - ); + self_arg.span, + &format!("this function takes ownership of the receiver `self`, which moves {}", place_name) + ); } } // Deref::deref takes &self, which cannot cause a move diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs index 5c97791530d..c1b105f1d84 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs @@ -1908,7 +1908,7 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { if is_const_fn { err.help( - "consider creating a new `const` item and initializing with the result \ + "consider creating a new `const` item and initializing it with the result \ of the function call to be used in the repeat position, like \ `const VAL: Type = const_fn();` and `let x = [VAL; 42];`", ); @@ -1916,7 +1916,7 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { if self.tcx.sess.is_nightly_build() && is_const_fn { err.help( - "create an inline `const` block, see PR \ + "create an inline `const` block, see RFC \ #2920 <https://github.com/rust-lang/rfcs/pull/2920> \ for more information", ); |
