about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/infer/error_reporting/mod.rs3
-rw-r--r--src/test/compile-fail/closure-expected-type/expect-region-supply-region.rs6
-rw-r--r--src/test/compile-fail/issue-7573.rs3
-rw-r--r--src/test/compile-fail/regions-escape-bound-fn-2.rs2
-rw-r--r--src/test/compile-fail/regions-escape-bound-fn.rs3
-rw-r--r--src/test/compile-fail/regions-escape-unboxed-closure.rs3
6 files changed, 11 insertions, 9 deletions
diff --git a/src/librustc/infer/error_reporting/mod.rs b/src/librustc/infer/error_reporting/mod.rs
index cdb90c7ba7e..645c8403b8e 100644
--- a/src/librustc/infer/error_reporting/mod.rs
+++ b/src/librustc/infer/error_reporting/mod.rs
@@ -1071,8 +1071,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
         // #45983: when trying to assign the contents of an argument to a binding outside of a
         // closure, provide a specific message pointing this out.
         if let (&SubregionOrigin::BindingTypeIsNotValidAtDecl(ref external_span),
-                &SubregionOrigin::Subtype(_),
-                &RegionKind::ReFree(ref free_region)) = (&sub_origin, &sup_origin, sup_region) {
+                &RegionKind::ReFree(ref free_region)) = (&sub_origin, sup_region) {
             let hir = &self.tcx.hir;
             if let Some(node_id) = hir.as_local_node_id(free_region.scope) {
                 match hir.get(node_id) {
diff --git a/src/test/compile-fail/closure-expected-type/expect-region-supply-region.rs b/src/test/compile-fail/closure-expected-type/expect-region-supply-region.rs
index 9da12dc901f..678647ff28d 100644
--- a/src/test/compile-fail/closure-expected-type/expect-region-supply-region.rs
+++ b/src/test/compile-fail/closure-expected-type/expect-region-supply-region.rs
@@ -25,7 +25,7 @@ fn expect_bound_supply_nothing() {
     // it to escape into `f`:
     let mut f: Option<&u32> = None;
     closure_expecting_bound(|x| {
-        f = Some(x); //~ ERROR E0495
+        f = Some(x); //~ ERROR borrowed data cannot be moved outside of its closure
     });
 }
 
@@ -35,7 +35,7 @@ fn expect_bound_supply_bound() {
     // closure:
     let mut f: Option<&u32> = None;
     closure_expecting_bound(|x: &u32| {
-        f = Some(x); //~ ERROR E0495
+        f = Some(x); //~ ERROR borrowed data cannot be moved outside of its closure
     });
 }
 
@@ -50,7 +50,7 @@ fn expect_bound_supply_named<'x>() {
 
         // And we still cannot let `x` escape into `f`.
         f = Some(x);
-        //~^ ERROR cannot infer
+        //~^ ERROR borrowed data cannot be moved outside of its closure
     });
 }
 
diff --git a/src/test/compile-fail/issue-7573.rs b/src/test/compile-fail/issue-7573.rs
index d13da1d9fd9..7445501c4eb 100644
--- a/src/test/compile-fail/issue-7573.rs
+++ b/src/test/compile-fail/issue-7573.rs
@@ -24,7 +24,8 @@ impl CrateId {
 }
 
 pub fn remove_package_from_database() {
-    let mut lines_to_use: Vec<&CrateId> = Vec::new(); //~ ERROR E0495
+    let mut lines_to_use: Vec<&CrateId> = Vec::new();
+    //~^ ERROR borrowed data cannot be moved outside of its closure
     let push_id = |installed_id: &CrateId| {
         lines_to_use.push(installed_id);
     };
diff --git a/src/test/compile-fail/regions-escape-bound-fn-2.rs b/src/test/compile-fail/regions-escape-bound-fn-2.rs
index 042c55eed86..df07aec998a 100644
--- a/src/test/compile-fail/regions-escape-bound-fn-2.rs
+++ b/src/test/compile-fail/regions-escape-bound-fn-2.rs
@@ -16,5 +16,5 @@ fn with_int<F>(f: F) where F: FnOnce(&isize) {
 fn main() {
     let mut x = None;
     with_int(|y| x = Some(y));
-         //~^ ERROR borrowed data cannot be moved outside of its closure
+    //~^ ERROR borrowed data cannot be moved outside of its closure
 }
diff --git a/src/test/compile-fail/regions-escape-bound-fn.rs b/src/test/compile-fail/regions-escape-bound-fn.rs
index 02e62ffddfd..86d91f53062 100644
--- a/src/test/compile-fail/regions-escape-bound-fn.rs
+++ b/src/test/compile-fail/regions-escape-bound-fn.rs
@@ -15,5 +15,6 @@ fn with_int<F>(f: F) where F: FnOnce(&isize) {
 
 fn main() {
     let mut x: Option<&isize> = None;
-    with_int(|y| x = Some(y));   //~ ERROR cannot infer
+    with_int(|y| x = Some(y));
+    //~^ ERROR borrowed data cannot be moved outside of its closure
 }
diff --git a/src/test/compile-fail/regions-escape-unboxed-closure.rs b/src/test/compile-fail/regions-escape-unboxed-closure.rs
index cf41fad2708..e422dd02f06 100644
--- a/src/test/compile-fail/regions-escape-unboxed-closure.rs
+++ b/src/test/compile-fail/regions-escape-unboxed-closure.rs
@@ -13,5 +13,6 @@ fn with_int(f: &mut FnMut(&isize)) {
 
 fn main() {
     let mut x: Option<&isize> = None;
-    with_int(&mut |y| x = Some(y));   //~ ERROR cannot infer
+    with_int(&mut |y| x = Some(y));
+    //~^ ERROR borrowed data cannot be moved outside of its closure
 }