summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMasaki Hara <ackie.h.gmai@gmail.com>2019-02-03 22:08:34 +0900
committerCrLF0710 <crlf0710@gmail.com>2019-04-05 02:27:01 +0800
commit4dcd6cc208e143309d481f0ecf4051bd9d139a18 (patch)
treed8c5281c4afb8f1725eab53a783df0097eeb77e3 /src/test
parente55d82c8a3a05e433897de4a991366bb2963470d (diff)
downloadrust-4dcd6cc208e143309d481f0ecf4051bd9d139a18.tar.gz
rust-4dcd6cc208e143309d481f0ecf4051bd9d139a18.zip
Fix failing tests.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/unsized-locals/fnbox-compat.rs3
-rw-r--r--src/test/ui/unsized-locals/fnbox-compat.stderr30
2 files changed, 9 insertions, 24 deletions
diff --git a/src/test/ui/unsized-locals/fnbox-compat.rs b/src/test/ui/unsized-locals/fnbox-compat.rs
index 3cb9ac560a2..c2c385e9fea 100644
--- a/src/test/ui/unsized-locals/fnbox-compat.rs
+++ b/src/test/ui/unsized-locals/fnbox-compat.rs
@@ -4,9 +4,10 @@ use std::boxed::FnBox;
 
 fn call_it<T>(f: Box<dyn FnBox(&i32) -> T>) -> T {
     f(&42)
+    //~^ERROR implementation of `std::ops::FnOnce` is not general enough
 }
 
 fn main() {
     let s = "hello".to_owned();
-    assert_eq!(&call_it(Box::new(|| s)) as &str, "hello");
+    assert_eq!(&call_it(Box::new(|_| s)) as &str, "hello");
 }
diff --git a/src/test/ui/unsized-locals/fnbox-compat.stderr b/src/test/ui/unsized-locals/fnbox-compat.stderr
index 5172092fb1c..c37bfaa47f7 100644
--- a/src/test/ui/unsized-locals/fnbox-compat.stderr
+++ b/src/test/ui/unsized-locals/fnbox-compat.stderr
@@ -1,27 +1,11 @@
-error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
-  --> $DIR/fnbox-compat.rs:11:34
+error: implementation of `std::ops::FnOnce` is not general enough
+  --> $DIR/fnbox-compat.rs:6:5
    |
-LL |     assert_eq!(&call_it(Box::new(|| s)) as &str, "hello");
-   |                                  ^^
-   |                                  |
-   |                                  expected closure that takes 1 argument
-   |                                  takes 0 arguments
-help: consider changing the closure to take and ignore the expected argument
+LL |     f(&42)
+   |     ^^^^^^
    |
-LL |     assert_eq!(&call_it(Box::new(|_| s)) as &str, "hello");
-   |                                  ^^^
+   = note: `std::ops::FnOnce<(&'0 i32,)>` would have to be implemented for the type `std::boxed::Box<(dyn for<'r> std::boxed::FnBox<(&'r i32,), Output=T> + 'static)>`, for some specific lifetime `'0`
+   = note: but `std::ops::FnOnce<(&'1 i32,)>` is actually implemented for the type `std::boxed::Box<(dyn std::boxed::FnBox<(&'1 i32,), Output=T> + '_)>`, for some specific lifetime `'1`
 
-error[E0277]: the size for values of type `dyn for<'r> std::boxed::FnBox<(&'r i32,), Output=_>` cannot be known at compilation time
-  --> $DIR/fnbox-compat.rs:11:25
-   |
-LL |     assert_eq!(&call_it(Box::new(|| s)) as &str, "hello");
-   |                         ^^^^^^^^ doesn't have a size known at compile-time
-   |
-   = help: the trait `std::marker::Sized` is not implemented for `dyn for<'r> std::boxed::FnBox<(&'r i32,), Output=_>`
-   = note: to learn more, visit <https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
-   = note: required by `<std::boxed::Box<T>>::new`
-
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
-Some errors occurred: E0277, E0593.
-For more information about an error, try `rustc --explain E0277`.