Allow use as and try as for From and TryFrom traits

I think a different word here would be better. They're not lossy, because converting back again perfectly recovers the original, and thus nothing was "lost". u32 as u16 is lossy; BinaryHeap<T>: From<Vec<T>> is lossy; u32 as i32 is lossless. (Indeed, u32 as i32 is a nop at runtime. They're the same type in LLVM, so rustc emits literally nothing for it in codegen.)

I'm no fan of as myself, but it would help to have a better word for it. Ideally something that we can say 1_i16 -> f32 has, since it's still the same numeric conceptual value, even though it changes the bit pattern of the concrete value.

1 Like