A blanket implementation gives a trait’s methods to every type matching an implementation’s target. An unconstrained generic target such as T includes every Rust type; bounds such as T: Debug narrow the set. section 17.6
A blanket implementation can:
- Provide related behavior automatically: Display supplies ToString, From supplies Into, and Into supplies TryFrom. section 17.6
Converting external errors
A ToSystemError trait converts any Result<T, E> where E: std::error::Error into Result<T, SystemError>. Calling .to_system_error()? then places errors from parsing, UTF-8 conversion, or sending into ExternalCrateError.


