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