我想对我的类型建立索引以返回一个以生命周期为界的结构。该结构需要包含对原始类型的引用,以便能够在其上运行某些方法,例如foo[index].bar()
。
当我尝试一种简单的方法
impl<'a> Index<usize> for Foo {
type Output = FooIndex<'a>;
fn index(&self, index: usize) -> &Self::Output {
FooIndex {
index,
foo: &self,
}
}
}
我得到以下
error[E0207]: the lifetime parameter 'a is not constrained by the impl trait, self type, or predicates
有什么办法吗?