error[E0308]: method not compatible with trait
  --> $DIR/matching-lifetimes.rs:14:5
   |
LL |     fn foo(x: Foo<'b,'a>) {
   |     ^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
   |
   = note: expected fn pointer `fn(Foo<'a, 'b>)`
              found fn pointer `fn(Foo<'b, 'a>)`
note: the lifetime `'b` as defined here...
  --> $DIR/matching-lifetimes.rs:13:9
   |
LL | impl<'a,'b> Tr for Foo<'a,'b> {
   |         ^^
note: ...does not necessarily outlive the lifetime `'a` as defined here
  --> $DIR/matching-lifetimes.rs:13:6
   |
LL | impl<'a,'b> Tr for Foo<'a,'b> {
   |      ^^

error[E0308]: method not compatible with trait
  --> $DIR/matching-lifetimes.rs:14:5
   |
LL |     fn foo(x: Foo<'b,'a>) {
   |     ^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
   |
   = note: expected fn pointer `fn(Foo<'a, 'b>)`
              found fn pointer `fn(Foo<'b, 'a>)`
note: the lifetime `'a` as defined here...
  --> $DIR/matching-lifetimes.rs:13:6
   |
LL | impl<'a,'b> Tr for Foo<'a,'b> {
   |      ^^
note: ...does not necessarily outlive the lifetime `'b` as defined here
  --> $DIR/matching-lifetimes.rs:13:9
   |
LL | impl<'a,'b> Tr for Foo<'a,'b> {
   |         ^^

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0308`.
