Currently rust has both the traits std::str::FromStr and std::convert::From<T>, the latter of which is often implemented for T: String even when std::str::FromStr is not.
Can implementing std::str::From<String>/std::str::From<&str> provide a free implementation of std::convert::FromStr so that this problem is avoided? From<&str> (being exception-free) can be used to implement FromStr, even if the converse isn't true.
Currently rust has both the traits
std::str::FromStrandstd::convert::From<T>, the latter of which is often implemented forT: Stringeven whenstd::str::FromStris not.Can implementing
std::str::From<String>/std::str::From<&str>provide a free implementation ofstd::convert::FromStrso that this problem is avoided?From<&str>(being exception-free) can be used to implementFromStr, even if the converse isn't true.