我试图在需要一生的特性上创建结构Baz
泛型:
trait Foo<'a> {
fn foo(&self) -> &'a u8;
}
struct Baz<'a, T: Foo<'a>>(pub T);
不幸的是编译器认为'a
中的Baz
是无用的:
error[E0392]: parameter `'a` is never used
--> src/main.rs:20:12
|
20 | struct Baz<'a, T: Foo<'a>>(pub T);
| ^^ unused type parameter
|
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
如何表达Baz
与Foo
的实现者之间的生命关系?