To bring this up again from a slightly different perspective, the documentation on the From trait specifies:
Simple and safe type conversions in to Self
and
Note: this trait must not fail. If the conversion can fail, use TryFrom or a dedicated method which returns an Option or a Result<T, E>.
but does not mention anything about the accuracy of the returned result (put another way: i64 → f64 is “safe” but inexact).
Obviously for some uses inexact conversions are not safe, but one does not usually use floating-point types to represent pointers or expect them to always be exact in any case, so this point may not be relevant (at least for target types regarded as “lossy”).
So should From support inexact conversions?
I’m not particularly biased either way (though eventually getting some kind of lossy conversion trait would be nice), but we need to decide because currently SIMD types do implement lossy conversions via From, e.g. From<u64x4> for f32x4. (Then again, there also appear to be fallible conversions like From<f32x4> for i8x4, which are definitely not safe.)