error: lifetime parameters must be declared prior to type and const parameters --> $DIR/substitute-params-bad.rs:9:9 | LL | impl S { | ----^^- help: reorder the parameters: lifetimes, then consts and types: `<'a, T>` error[E0308]: mismatched types --> $DIR/substitute-params-bad.rs:22:35 | LL | let _: Subj<(i32, i32)>::Un = 0i32; | -------------------- ^^^^ expected `(i32, i32)`, found `i32` | | | expected due to this | = note: expected tuple `(i32, i32)` found type `i32` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.