Is there a good reason the following can't be done?
impl<T> std::convert::From<T> for std::string::String where T: std::string::ToString {
fn from(t: T) -> Self {
t.to_string()
}
The only thing I can think of is if the value of T converted to String has a different meaning of the value of T.display() (as that's where a lot of the ToString implementations are coming from) such that you might want different behavior there.
Being able to do something like s: String = 42.into() anywhere would be nice.