| 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() { | |
| } |