1 In-band lifetimes were mixed with explicit lifetime binders.
3 Erroneous code example:
6 #![feature(in_band_lifetimes)]
8 fn foo<'a>(x: &'a u32, y: &'b u32) {} // error!
10 struct Foo<'a> { x: &'a u32 }
13 fn bar<'b>(x: &'a u32, y: &'b u32, z: &'c u32) {} // error!
16 impl<'b> Foo<'a> { // error!
21 In-band lifetimes cannot be mixed with explicit lifetime binders.
25 fn foo<'a, 'b>(x: &'a u32, y: &'b u32) {} // ok!
27 struct Foo<'a> { x: &'a u32 }
30 fn bar<'b,'c>(x: &'a u32, y: &'b u32, z: &'c u32) {} // ok!
33 impl<'a> Foo<'a> { // ok!