I need something like .collect() but which will produce String instead of container of chars, i.e. I need an inverse of chars(). I cannot
.collect() is generic in what collection it produces, and it can produce the String for you!
let s = "abc".chars().collect::<String>();
The trait FromIterator determines which elements you can collect into which kind of collection, and among the implementors you can find String twice:
impl FromIterator<char> for String
impl<'a> FromIterator<&'a str> for String
Both iterators of char and of &str can be collected to String.