1 In-band lifetimes cannot be used in `fn`/`Fn` syntax.
3 Erroneous code examples:
6 #![feature(in_band_lifetimes)]
8 fn foo(x: fn(&'a u32)) {} // error!
10 fn bar(x: &Fn(&'a u32)) {} // error!
12 fn baz(x: fn(&'a u32), y: &'a u32) {} // error!
14 struct Foo<'a> { x: &'a u32 }
17 fn bar(&self, x: fn(&'a u32)) {} // error!
21 Lifetimes used in `fn` or `Fn` syntax must be explicitly
22 declared using `<...>` binders. For example:
25 fn foo<'a>(x: fn(&'a u32)) {} // ok!
27 fn bar<'a>(x: &Fn(&'a u32)) {} // ok!
29 fn baz<'a>(x: fn(&'a u32), y: &'a u32) {} // ok!
31 struct Foo<'a> { x: &'a u32 }
34 fn bar(&self, x: fn(&'a u32)) {} // ok!