【发布时间】:2015-09-26 04:21:47
【问题描述】:
这似乎微不足道,但我找不到办法。
例如,
fn f(s: &[u8]) {}
pub fn main() {
let x = "a";
f(x)
}
编译失败:
error: mismatched types:
expected `&[u8]`,
found `&str`
(expected slice,
found str) [E0308]
但是,documentation 声明:
str 的实际表示直接映射到切片:&str 与 &[u8] 相同。
【问题讨论】:
-
事实上,这是该错误消息的大约五个谷歌结果之一,这对我来说似乎很疯狂!我在 1.0 后的第一个测试程序中遇到了这个问题(实现“cat”)。