1 error[E0735]: type parameters cannot use `Self` in their defaults
2 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:13:25
4 LL | struct Snobound<'a, P = Self> { x: Option<&'a P> }
5 | ^^^^ `Self` in type parameter default
7 error[E0735]: type parameters cannot use `Self` in their defaults
8 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:16:23
10 LL | enum Enobound<'a, P = Self> { A, B(Option<&'a P>) }
11 | ^^^^ `Self` in type parameter default
13 error[E0735]: type parameters cannot use `Self` in their defaults
14 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:19:24
16 LL | union Unobound<'a, P = Self> { x: i32, y: Option<&'a P> }
17 | ^^^^ `Self` in type parameter default
19 error[E0735]: type parameters cannot use `Self` in their defaults
20 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:25:31
22 LL | struct Ssized<'a, P: Sized = [Self]> { x: Option<&'a P> }
23 | ^^^^ `Self` in type parameter default
25 error[E0735]: type parameters cannot use `Self` in their defaults
26 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:28:29
28 LL | enum Esized<'a, P: Sized = [Self]> { A, B(Option<&'a P>) }
29 | ^^^^ `Self` in type parameter default
31 error[E0735]: type parameters cannot use `Self` in their defaults
32 --> $DIR/issue-61631-default-type-param-cannot-reference-self.rs:31:30
34 LL | union Usized<'a, P: Sized = [Self]> { x: i32, y: Option<&'a P> }
35 | ^^^^ `Self` in type parameter default
37 error: aborting due to 6 previous errors
39 For more information about this error, try `rustc --explain E0735`.