]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_mir/borrow_check/diagnostics/move_errors.rs
Auto merge of #75912 - scottmcm:manuallydrop-vs-forget, r=Mark-Simulacrum
[rust.git] / src / librustc_mir / borrow_check / diagnostics / move_errors.rs
index 4883b08e424423a71265093c884a7d3e069d3476..1c8da212f108853740a30545914f865f6d07afbb 100644 (file)
@@ -2,7 +2,7 @@
 use rustc_middle::mir::*;
 use rustc_middle::ty;
 use rustc_span::source_map::DesugaringKind;
-use rustc_span::{Span, Symbol};
+use rustc_span::{sym, Span};
 
 use crate::borrow_check::diagnostics::UseSpans;
 use crate::borrow_check::prefixes::PrefixSet;
@@ -394,10 +394,8 @@ fn report_cannot_move_from_borrowed_content(
                 | ty::Opaque(def_id, _) => def_id,
                 _ => return err,
             };
-            let is_option =
-                self.infcx.tcx.is_diagnostic_item(Symbol::intern("option_type"), def_id);
-            let is_result =
-                self.infcx.tcx.is_diagnostic_item(Symbol::intern("result_type"), def_id);
+            let is_option = self.infcx.tcx.is_diagnostic_item(sym::option_type, def_id);
+            let is_result = self.infcx.tcx.is_diagnostic_item(sym::result_type, def_id);
             if (is_option || is_result) && use_spans.map_or(true, |v| !v.for_closure()) {
                 err.span_suggestion(
                     span,
@@ -409,7 +407,7 @@ fn report_cannot_move_from_borrowed_content(
                     Applicability::MaybeIncorrect,
                 );
             } else if matches!(span.desugaring_kind(), Some(DesugaringKind::ForLoop(_)))
-                && self.infcx.tcx.is_diagnostic_item(Symbol::intern("vec_type"), def_id)
+                && self.infcx.tcx.is_diagnostic_item(sym::vec_type, def_id)
             {
                 // FIXME: suggest for anything that implements `IntoIterator`.
                 err.span_suggestion(
@@ -447,7 +445,13 @@ fn add_move_hints(
                         None => "value".to_string(),
                     };
 
-                    self.note_type_does_not_implement_copy(err, &place_desc, place_ty, Some(span));
+                    self.note_type_does_not_implement_copy(
+                        err,
+                        &place_desc,
+                        place_ty,
+                        Some(span),
+                        "",
+                    );
                 } else {
                     binds_to.sort();
                     binds_to.dedup();
@@ -469,7 +473,7 @@ fn add_move_hints(
                     Some(desc) => format!("`{}`", desc),
                     None => "value".to_string(),
                 };
-                self.note_type_does_not_implement_copy(err, &place_desc, place_ty, Some(span));
+                self.note_type_does_not_implement_copy(err, &place_desc, place_ty, Some(span), "");
 
                 use_spans.args_span_label(err, format!("move out of {} occurs here", place_desc));
                 use_spans
@@ -531,6 +535,7 @@ fn add_move_error_details(&self, err: &mut DiagnosticBuilder<'a>, binds_to: &[Lo
                     &format!("`{}`", self.local_names[*local].unwrap()),
                     bind_to.ty,
                     Some(binding_span),
+                    "",
                 );
             }
         }