Open
Description
Example:
fn foo<T>() where for<'a> T: 'a {}
fn bar<'b>() {
foo::<&'b i32>();
}
fn main() {}
Error:
foo.rs:4:5: 4:19 error: the type `&'b i32` does not fulfill the required lifetime
foo.rs:4 foo::<&'b i32>();
^~~~~~~~~~~~~~
note: type must outlive the static lifetime
error: aborting due to previous error
It's not necessarily obvious why the type has to be 'static
in this case.