【发布时间】:2018-04-21 23:01:26
【问题描述】:
以下代码无法编译:
use std::str::Chars;
struct Chunks {
remaining: Chars,
}
impl Chunks {
fn new(s: String) -> Self {
Chunks {
remaining: s.chars(),
}
}
}
错误是:
error[E0106]: missing lifetime specifier
--> src/main.rs:4:16
|
4 | remaining: Chars,
| ^^^^^ expected lifetime parameter
Chars 不拥有它迭代的字符,它不能比创建它的 &str 或 String 寿命长。
是否有不需要生命周期参数的 Chars 的自有版本,还是我必须自己保留 Vec<char> 和索引?
【问题讨论】:
标签: string iterator rust ownership