// Given 'cx, return 'cx
type F = for<'cx> fn(&'cx S) -> &'cx S;
-fn want_F(f: F) { }
+fn want_F(f: F) {}
// Given anything, return 'static
type G = for<'cx> fn(&'cx S) -> &'static S;
-fn want_G(f: G) { }
+fn want_G(f: G) {}
// Should meet both.
fn foo(x: &S) -> &'static S {
}
// Should meet both.
-fn bar<'a,'b>(x: &'a S) -> &'b S {
+fn bar<'a, 'b>(x: &'a S) -> &'b S {
panic!()
}
fn supply_F() {
want_F(foo);
- want_F(bar); //~ ERROR mismatched types
+ want_F(bar);
want_F(baz);
}
want_G(baz); //~ ERROR mismatched types
}
-pub fn main() {
-}
+pub fn main() {}