Generics 如何通过Vec<;T>;当需要特征搜索时,是否对函数进行搜索?

Generics 如何通过Vec<;T>;当需要特征搜索时,是否对函数进行搜索?,generics,rust,traits,Generics,Rust,Traits,我有一个API,我需要将Vec传递给它,它需要它的参数来实现std::io::Seek: fn some_func<T: Seek + Write>(foo: &mut T) {/* body */} fn一些函数(foo:&mut T){/*body*/} 板条箱作者建议在此处使用文件,但我希望在此处避免使用该文件,因为它会导致不必要的文件创建。Vec满足Write特性,但不满足Seek特性。有没有办法避免在此处使用文件?您可以将Vec包装成: 让mut buf:Cur

我有一个API,我需要将
Vec
传递给它,它需要它的参数来实现
std::io::Seek

fn some_func<T: Seek + Write>(foo: &mut T) {/* body */}
fn一些函数(foo:&mut T){/*body*/}

板条箱作者建议在此处使用
文件
,但我希望在此处避免使用该文件,因为它会导致不必要的文件创建。
Vec
满足
Write
特性,但不满足
Seek
特性。有没有办法避免在此处使用
文件

您可以将
Vec
包装成:

让mut buf:Cursor=Cursor::new(Vec::new());
一些函数(&mut buf);
let mut buf: Cursor<Vec<u8>> = Cursor::new(Vec::new());
some_func(&mut buf);