| trait Trait { |
| //~^ NOTE in this trait... |
| //~| NOTE in this trait... |
| fn bar<'a,'b:'a>(x: &'a str, y: &'b str); |
| //~^ NOTE `'a` is early-bound |
| //~| NOTE this lifetime bound makes `'a` early-bound |
| //~| NOTE `'b` is early-bound |
| //~| NOTE this lifetime bound makes `'b` early-bound |
| } |
| |
| struct Foo; |
| |
| impl Trait for Foo { |
| //~^ NOTE in this impl... |
| //~| NOTE in this impl... |
| fn bar<'a,'b>(x: &'a str, y: &'b str) { |
| //~^ ERROR E0195 |
| //~| NOTE `'a` differs between the trait and impl |
| //~| NOTE `'a` is late-bound |
| //~| NOTE `'b` differs between the trait and impl |
| //~| NOTE `'b` is late-bound |
| //~| NOTE lifetime parameters differ in whether they are early- or late-bound |
| } |
| } |
| |
| fn main() { |
| } |