about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2019-07-12 20:42:21 +0100
committerMatthew Jasper <mjjasper1@gmail.com>2019-07-14 20:22:19 +0100
commitabfd4d1e55ea3e9d823018422508a8d49e710517 (patch)
treebf16049e855c716aff8af521e11b7e63b7739ff0 /src
parent2cc2b942cfb1c16be1d289f7b2feee13eee1d679 (diff)
downloadrust-abfd4d1e55ea3e9d823018422508a8d49e710517.tar.gz
rust-abfd4d1e55ea3e9d823018422508a8d49e710517.zip
Move suggest_ref_mut into rustc_mir::borrow_check
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/borrow_check/mutability_errors.rs15
-rw-r--r--src/librustc_mir/util/mod.rs17
2 files changed, 14 insertions, 18 deletions
diff --git a/src/librustc_mir/borrow_check/mutability_errors.rs b/src/librustc_mir/borrow_check/mutability_errors.rs
index a3a4e4fef16..59a3354f9c5 100644
--- a/src/librustc_mir/borrow_check/mutability_errors.rs
+++ b/src/librustc_mir/borrow_check/mutability_errors.rs
@@ -1,3 +1,4 @@
+use core::unicode::property::Pattern_White_Space;
 use rustc::hir;
 use rustc::hir::Node;
 use rustc::mir::{self, BindingForm, ClearCrossCrate, Local, Location, Body};
@@ -10,7 +11,6 @@ use syntax_pos::symbol::kw;
 use crate::borrow_check::MirBorrowckCtxt;
 use crate::borrow_check::error_reporting::BorrowedContentSource;
 use crate::util::collect_writes::FindAssignments;
-use crate::util::suggest_ref_mut;
 use rustc_errors::Applicability;
 
 #[derive(Copy, Clone, Debug, Eq, PartialEq)]
@@ -628,3 +628,16 @@ fn annotate_struct_field(
 
     None
 }
+
+/// If possible, suggest replacing `ref` with `ref mut`.
+fn suggest_ref_mut(tcx: TyCtxt<'_>, binding_span: Span) -> Option<(String)> {
+    let hi_src = tcx.sess.source_map().span_to_snippet(binding_span).unwrap();
+    if hi_src.starts_with("ref")
+        && hi_src["ref".len()..].starts_with(Pattern_White_Space)
+    {
+        let replacement = format!("ref mut{}", &hi_src["ref".len()..]);
+        Some(replacement)
+    } else {
+        None
+    }
+}
diff --git a/src/librustc_mir/util/mod.rs b/src/librustc_mir/util/mod.rs
index fd2a5e452ce..c8a90a98914 100644
--- a/src/librustc_mir/util/mod.rs
+++ b/src/librustc_mir/util/mod.rs
@@ -1,7 +1,3 @@
-use core::unicode::property::Pattern_White_Space;
-use rustc::ty::TyCtxt;
-use syntax_pos::Span;
-
 pub mod aggregate;
 pub mod borrowck_errors;
 pub mod elaborate_drops;
@@ -19,16 +15,3 @@ pub use self::alignment::is_disaligned;
 pub use self::pretty::{dump_enabled, dump_mir, write_mir_pretty, PassWhere};
 pub use self::graphviz::{graphviz_safe_def_name, write_mir_graphviz};
 pub use self::graphviz::write_node_label as write_graphviz_node_label;
-
-/// If possible, suggest replacing `ref` with `ref mut`.
-pub fn suggest_ref_mut(tcx: TyCtxt<'_>, binding_span: Span) -> Option<(String)> {
-    let hi_src = tcx.sess.source_map().span_to_snippet(binding_span).unwrap();
-    if hi_src.starts_with("ref")
-        && hi_src["ref".len()..].starts_with(Pattern_White_Space)
-    {
-        let replacement = format!("ref mut{}", &hi_src["ref".len()..]);
-        Some(replacement)
-    } else {
-        None
-    }
-}