about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2019-01-25 14:53:59 -0500
committerRémy Rakic <remy.rakic@gmail.com>2019-01-27 10:52:43 +0100
commitc5dea5753fd1c1a77813b7829573025e28c214b5 (patch)
treeaa079f6906d9d3106e01dc26239698e4fcdb318e
parentf5a74d40d9ceef0d27d8d60e1b867e6cbf3f6883 (diff)
downloadrust-c5dea5753fd1c1a77813b7829573025e28c214b5.tar.gz
rust-c5dea5753fd1c1a77813b7829573025e28c214b5.zip
break apart tests
-rwxr-xr-xsrc/test/ui/issues/issue-57362-1.rs23
-rw-r--r--src/test/ui/issues/issue-57362-1.stderr (renamed from src/test/ui/issues/issue-57362.stderr)0
-rw-r--r--[-rwxr-xr-x]src/test/ui/issues/issue-57362-2.rs (renamed from src/test/ui/issues/issue-57362.rs)18
3 files changed, 24 insertions, 17 deletions
diff --git a/src/test/ui/issues/issue-57362-1.rs b/src/test/ui/issues/issue-57362-1.rs
new file mode 100755
index 00000000000..fe6b69f0097
--- /dev/null
+++ b/src/test/ui/issues/issue-57362-1.rs
@@ -0,0 +1,23 @@
+// Test for issue #57362, ensuring that the self ty is shown in cases of higher-ranked lifetimes
+// conflicts: the `expected` and `found` trait refs would otherwise be printed the same, leading
+// to confusing notes such as:
+//  = note: expected type `Trait`
+//             found type `Trait`
+
+// from issue #57362
+trait Trait {
+    fn f(self);
+}
+
+impl<T> Trait for fn(&T) {
+    fn f(self) {
+        println!("f");
+    }
+}
+
+fn f() {
+    let a: fn(_) = |_: &u8| {};
+    a.f(); //~ ERROR not general enough
+}
+
+fn main() {}
diff --git a/src/test/ui/issues/issue-57362.stderr b/src/test/ui/issues/issue-57362-1.stderr
index d7886e5af27..d7886e5af27 100644
--- a/src/test/ui/issues/issue-57362.stderr
+++ b/src/test/ui/issues/issue-57362-1.stderr
diff --git a/src/test/ui/issues/issue-57362.rs b/src/test/ui/issues/issue-57362-2.rs
index d5b506f3c2c..436a4a90457 100755..100644
--- a/src/test/ui/issues/issue-57362.rs
+++ b/src/test/ui/issues/issue-57362-2.rs
@@ -4,22 +4,6 @@
 //  = note: expected type `Trait`
 //             found type `Trait`
 
-// from issue #57362
-trait Trait {
-    fn f(self);
-}
-
-impl<T> Trait for fn(&T) {
-    fn f(self) {
-        println!("f");
-    }
-}
-
-fn f() {
-    let a: fn(_) = |_: &u8| {};
-    a.f(); //~ ERROR not general enough
-}
-
 // extracted from a similar issue: #57642
 trait X {
     type G;
@@ -38,4 +22,4 @@ fn g() {
     let x = <fn (&())>::make_g(); //~ ERROR not general enough
 }
 
-fn main() {}
\ No newline at end of file
+fn main() {}