--- /dev/null
+error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'b` due to conflicting requirements
+ --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:13
+ |
+LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> {
+ | ^^^^^^^^^^
+ |
+note: first, the lifetime cannot outlive the lifetime `'a` as defined on the impl at 24:6...
+ --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:6
+ |
+LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> {
+ | ^^
+note: ...but the lifetime must also be valid for the lifetime `'b` as defined on the impl at 24:9...
+ --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:9
+ |
+LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> {
+ | ^^
+note: ...so that the types are compatible
+ --> $DIR/impl-of-supertrait-has-wrong-lifetime-parameters.rs:24:13
+ |
+LL | impl<'a,'b> T2<'a, 'b> for S<'a, 'b> {
+ | ^^^^^^^^^^
+ = note: expected `T1<'a>`
+ found `T1<'_>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0495`.