| error[E0271]: type mismatch resolving `<<T as Trait>::A as MultiDispatch<i32>>::O == T` |
| --> $DIR/issue-24204.rs:14:12 |
| | |
| LL | trait Trait: Sized { |
| | ----- required by a bound in this |
| LL | type A: MultiDispatch<Self::B, O = Self>; |
| | -------- required by this bound in `Trait` |
| ... |
| LL | fn test<T: Trait<B=i32>>(b: i32) -> T where T::A: MultiDispatch<i32> { T::new(b) } |
| | - ^^^^^^^^^^^^ expected type parameter `T`, found associated type |
| | | |
| | this type parameter |
| | |
| = note: expected type parameter `T` |
| found associated type `<<T as Trait>::A as MultiDispatch<i32>>::O` |
| = note: you might be missing a type parameter or trait bound |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0271`. |