Как преобразовать итератор символов в строку?

Мне нужно что-то вроде .collect(), но создаст String вместо контейнера char s, т.е. мне нужно обратное к chars(). Я не могу найти ничего подходящего в документации. Конечно, я могу реализовать такую ​​функцию самостоятельно, но я уверен, что должно быть стандартное решение этой проблемы.

Я использую стабильную Rust.

Ответ 1

.collect() является общим в том, что он производит, и он может создать String для вас!

let s = "abc".chars().collect::<String>();

Признак FromIterator определяет, какие элементы вы можете собрать в какую коллекцию, а среди разработчиков вы можете найти String дважды:

impl FromIterator<char> for String
impl<'a> FromIterator<&'a str> for String

Оба итератора char и &str могут быть собраны до String.