Rust 需要向量,但找到结构集合::vec::vec
我刚开始学习生锈,我偶然发现了这个愚蠢的问题:Rust 需要向量,但找到结构集合::vec::vec,rust,Rust,我刚开始学习生锈,我偶然发现了这个愚蠢的问题: error: mismatched types: expected `&[u8]` but found `&collections::vec::Vec<u8>` (expected vector but found struct collections::vec::Vec) 它需要一个向量,我给它一个向量。很明显,它还需要其他类型的向量 它需要一个向量,我给它一个向量 不,你搞错了:)它需要一个切片,你给它一个向量。使
error: mismatched types: expected `&[u8]` but found `&collections::vec::Vec<u8>` (expected vector but found struct collections::vec::Vec)
它需要一个向量,我给它一个向量。很明显,它还需要其他类型的向量
它需要一个向量,我给它一个向量
不,你搞错了:)它需要一个切片,你给它一个向量。使用as_slice()
方法从Vec
获取和[u8]
:
为什么错误消息说
预期的向量,但找到了X
?@kaiselgren,对不起,但我看不出错误消息是怎么说的。它说预期的`&[u8]`但是…
,但是&[T]
是一个片段,而不是一个向量。@VladimirMatveev在错误消息的最后它确实说了(预期的向量但是找到了struct collections::vec::vec)
@ChrisJones,啊,对不起,你完全正确,我感到羞耻。这绝对是编译器中的一个遗留问题,没有人费心清理。直到最近(甚至现在),它还在一些错误消息中以~T
和Gc
的形式打印了Box
,尽管这种语法早已过时。
let contents = inflate_bytes(compressed_contents.as_slice());