Specialization is currently not used in order to write public, otherwise impossible trait implementations. The standard library only uses it for performance optimizations that could – at least in principle – all still be removed if necessary.'
See also this relatively recent similar topic: impl<T, U: From<T>> From<Vec<T>> for Vec<U> - #7 by scottmcm