summaryrefslogtreecommitdiffstats
path: root/tests/ui/resolve/resolve-self-in-impl.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/resolve/resolve-self-in-impl.stderr')
-rw-r--r--tests/ui/resolve/resolve-self-in-impl.stderr62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/ui/resolve/resolve-self-in-impl.stderr b/tests/ui/resolve/resolve-self-in-impl.stderr
new file mode 100644
index 000000000..b3042d413
--- /dev/null
+++ b/tests/ui/resolve/resolve-self-in-impl.stderr
@@ -0,0 +1,62 @@
+error: `Self` is not valid in the self type of an impl block
+ --> $DIR/resolve-self-in-impl.rs:16:6
+ |
+LL | impl Self {}
+ | ^^^^
+ |
+ = note: replace `Self` with a different type
+
+error: `Self` is not valid in the self type of an impl block
+ --> $DIR/resolve-self-in-impl.rs:17:8
+ |
+LL | impl S<Self> {}
+ | ^^^^
+ |
+ = note: replace `Self` with a different type
+
+error: `Self` is not valid in the self type of an impl block
+ --> $DIR/resolve-self-in-impl.rs:18:7
+ |
+LL | impl (Self, Self) {}
+ | ^^^^ ^^^^
+ |
+ = note: replace `Self` with a different type
+
+error: `Self` is not valid in the self type of an impl block
+ --> $DIR/resolve-self-in-impl.rs:14:13
+ |
+LL | impl Tr for Self {}
+ | ^^^^
+ |
+ = note: replace `Self` with a different type
+
+error: `Self` is not valid in the self type of an impl block
+ --> $DIR/resolve-self-in-impl.rs:15:15
+ |
+LL | impl Tr for S<Self> {}
+ | ^^^^
+ |
+ = note: replace `Self` with a different type
+
+error[E0391]: cycle detected when computing trait implemented by `<impl at $DIR/resolve-self-in-impl.rs:19:1: 19:23>`
+ --> $DIR/resolve-self-in-impl.rs:19:1
+ |
+LL | impl Tr<Self::A> for S {}
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = note: ...which immediately requires computing trait implemented by `<impl at $DIR/resolve-self-in-impl.rs:19:1: 19:23>` again
+note: cycle used when collecting item types in top-level module
+ --> $DIR/resolve-self-in-impl.rs:1:1
+ |
+LL | / #![feature(associated_type_defaults)]
+LL | |
+LL | | struct S<T = u8>(T);
+LL | | trait Tr<T = u8> {
+... |
+LL | |
+LL | | fn main() {}
+ | |____________^
+
+error: aborting due to 6 previous errors
+
+For more information about this error, try `rustc --explain E0391`.