rust/tests/ui/coherence/fuzzing/best-obligation-ICE.stderr

70 lines
2.6 KiB
Plaintext

error[E0277]: the trait bound `W<W<T>>: Trait` is not satisfied
--> $DIR/best-obligation-ICE.rs:10:19
|
LL | impl<T> Trait for W<W<W<T>>> {}
| ^^^^^^^^^^ the trait `Trait` is not implemented for `W<W<T>>`
|
note: required by a bound in `W`
--> $DIR/best-obligation-ICE.rs:9:13
|
LL | struct W<T: Trait>(*mut T);
| ^^^^^ required by this bound in `W`
help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
|
LL | impl<T> Trait for W<W<W<T>>> where W<W<T>>: Trait {}
| ++++++++++++++++++++
error[E0277]: the trait bound `W<T>: Trait` is not satisfied
--> $DIR/best-obligation-ICE.rs:10:19
|
LL | impl<T> Trait for W<W<W<T>>> {}
| ^^^^^^^^^^ the trait `Trait` is not implemented for `W<T>`
|
note: required by a bound in `W`
--> $DIR/best-obligation-ICE.rs:9:13
|
LL | struct W<T: Trait>(*mut T);
| ^^^^^ required by this bound in `W`
help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
|
LL | impl<T> Trait for W<W<W<T>>> where W<T>: Trait {}
| +++++++++++++++++
error[E0277]: the trait bound `T: Trait` is not satisfied
--> $DIR/best-obligation-ICE.rs:10:19
|
LL | impl<T> Trait for W<W<W<T>>> {}
| ^^^^^^^^^^ the trait `Trait` is not implemented for `T`
|
note: required by a bound in `W`
--> $DIR/best-obligation-ICE.rs:9:13
|
LL | struct W<T: Trait>(*mut T);
| ^^^^^ required by this bound in `W`
help: consider restricting type parameter `T` with trait `Trait`
|
LL | impl<T: Trait> Trait for W<W<W<T>>> {}
| +++++++
error[E0046]: not all trait items implemented, missing: `Assoc`
--> $DIR/best-obligation-ICE.rs:10:1
|
LL | type Assoc;
| ---------- `Assoc` from trait
...
LL | impl<T> Trait for W<W<W<T>>> {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Assoc` in implementation
error[E0119]: conflicting implementations of trait `NoOverlap` for type `W<W<W<W<_>>>>`
--> $DIR/best-obligation-ICE.rs:18:1
|
LL | impl<T: Trait> NoOverlap for T {}
| ------------------------------ first implementation here
LL | impl<T: Trait<Assoc = u32>> NoOverlap for W<T> {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `W<W<W<W<_>>>>`
error: aborting due to 5 previous errors
Some errors have detailed explanations: E0046, E0119, E0277.
For more information about an error, try `rustc --explain E0046`.