обеспечивает признак расширения для String с помощью двух методов into_chars и into_char_indices. Эти методы параллельны String :: chars и String :: char_indices, но создаваемые ими итераторы используют String вместо того, чтобы заимствовать его.
ющий код не компилируется:
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>
а индекс сам?