обеспечивает признак расширения для 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> а индекс сам?

Ответы на вопрос(1)

Ваш ответ на вопрос