以下内容很好:
pub struct Reader<'a> {
position: uint,
data: &'a [u8]
}
它是一个以u8
型向量(实际上是一个切片)为参考的读取器,我指定了它的生存期.
然而,这并不是我想要的.我想让 struct 成为泛型的,更准确地说,我想指出类型应该是任何东西的一部分.我一开始就试过:
pub struct Reader<'a, T> {
position: uint,
data: &'a T
}
它并不表示T
是一个片,但这已经失败了,因为有一条消息:
参数类型
T
可能生命周期 不够长;考虑添加一个
好的,我只需要指定生命周期.
但现在我的问题是,如何使它成为类型slice的泛型,并具有生命周期?我试过像Reader<'a, T: 'a Vec>
和T: 'a [T]
这样的东西,但我不知道我应该如何表示这一点,官方指南似乎没有处理这样的情况.
我只想构造一个读取器,通过borrow 任何类型的切片来接收它,并提供对数据进行操作的方法(以只读方式).