1 error[E0106]: missing lifetime specifier
2 --> $DIR/rfc1623-3.rs:8:42
4 LL | static NON_ELIDABLE_FN: &fn(&u8, &u8) -> &u8 =
5 | --- --- ^ expected named lifetime parameter
7 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2
8 = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
9 help: consider making the type lifetime-generic with a new `'a` lifetime
11 LL | static NON_ELIDABLE_FN: &for<'a> fn(&'a u8, &'a u8) -> &'a u8 =
14 error[E0106]: missing lifetime specifier
15 --> $DIR/rfc1623-3.rs:10:39
17 LL | &(non_elidable as fn(&u8, &u8) -> &u8);
18 | --- --- ^ expected named lifetime parameter
20 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2
21 help: consider making the type lifetime-generic with a new `'a` lifetime
23 LL | &(non_elidable as for<'a> fn(&'a u8, &'a u8) -> &'a u8);
26 error[E0605]: non-primitive cast: `for<'a, 'b> fn(&'a u8, &'b u8) -> &'a u8 {non_elidable}` as `for<'a, 'b> fn(&'a u8, &'b u8) -> &u8`
27 --> $DIR/rfc1623-3.rs:10:6
29 LL | &(non_elidable as fn(&u8, &u8) -> &u8);
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid cast
32 error: aborting due to 3 previous errors
34 Some errors have detailed explanations: E0106, E0605.
35 For more information about an error, try `rustc --explain E0106`.