Generic value in a struct doesn't live long enough?
If you want a struct that explicitly holds a reference to some generic type, this won't be enough:
struct Foo<T>(&T);
#Rustlang requires not only explicit lifetime:
struct Foo<'a, T>(&'a T);
but also specifying that any lifetimes hidden in the type `T` outlive it:
struct Foo<'a, T: 'a>(&'a T);
BTW: `struct Foo<T>(T)` can hold references too (since *any* type includes reference types, too).