This fails in today's Rust because of the standard library's impl From<T> for T. Would the current proposed design of specialization allow this somehow?

@Jake Goulding I don't believe so, because this is a violation of the orphan rules
which state that if a type parameter appears in the Self type of an impl for a non-local trait, it must be "covered" by a local type