error[E0046]: not all trait items implemented, missing: `Assoc` --> $DIR/best-obligation-ICE.rs:10:1 | LL | type Assoc; | ---------- `Assoc` from trait ... LL | impl Trait for W>> {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Assoc` in implementation error[E0277]: the trait bound `W>: Trait` is not satisfied --> $DIR/best-obligation-ICE.rs:10:19 | LL | impl Trait for W>> {} | ^^^^^^^^^^ unsatisfied trait bound | help: the trait `Trait` is not implemented for `W>` --> $DIR/best-obligation-ICE.rs:9:1 | LL | struct W(*mut T); | ^^^^^^^^^^^^^^^^^^ note: required by a bound in `W` --> $DIR/best-obligation-ICE.rs:9:13 | LL | struct W(*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 Trait for W>> where W>: Trait {} | ++++++++++++++++++++ error[E0277]: the trait bound `W: Trait` is not satisfied --> $DIR/best-obligation-ICE.rs:10:19 | LL | impl Trait for W>> {} | ^^^^^^^^^^ unsatisfied trait bound | help: the trait `Trait` is not implemented for `W` --> $DIR/best-obligation-ICE.rs:9:1 | LL | struct W(*mut T); | ^^^^^^^^^^^^^^^^^^ note: required by a bound in `W` --> $DIR/best-obligation-ICE.rs:9:13 | LL | struct W(*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 Trait for W>> where W: Trait {} | +++++++++++++++++ error[E0277]: the trait bound `T: Trait` is not satisfied --> $DIR/best-obligation-ICE.rs:10:19 | LL | impl Trait for W>> {} | ^^^^^^^^^^ 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(*mut T); | ^^^^^ required by this bound in `W` help: consider restricting type parameter `T` with trait `Trait` | LL | impl Trait for W>> {} | +++++++ error[E0119]: conflicting implementations of trait `NoOverlap` for type `W>>>` --> $DIR/best-obligation-ICE.rs:18:1 | LL | impl NoOverlap for T {} | ------------------------------ first implementation here LL | impl> NoOverlap for W {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `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`.