1 error[E0308]: mismatched types
2 --> $DIR/issue-52893.rs:53:22
4 LL | impl<F, Name, P> AddClass<Name, F> for Class<P>
5 | - this type parameter
7 LL | builder.push(output);
8 | ---- ^^^^^^ expected type parameter `F`, found struct `Class`
10 | arguments to this method are incorrect
12 = note: expected type parameter `F`
13 found struct `Class<P>`
14 help: the return type of this call is `Class<P>` due to the type of the argument passed
15 --> $DIR/issue-52893.rs:53:9
17 LL | builder.push(output);
18 | ^^^^^^^^^^^^^------^
20 | this argument influences the return type of `push`
21 note: associated function defined here
22 --> $DIR/issue-52893.rs:11:8
24 LL | fn push(self, other: T) -> Self::PushRes;
27 error: aborting due to previous error
29 For more information about this error, try `rustc --explain E0308`.