pub struct Foo<'a, A:'a>(&'a A); impl<'a, A> Foo<'a, A> { pub fn new(a: &'a A) -> Foo<'a, A> { Foo(a) } }