まあどちらもトレイトで定義されているわけで、対応する型が定義されてなければ変換できないわけですが、Begginig Rustのコードで浮動小数点に整数から変換するコードが出てきますが、テキストではi32をfloat変換するには相手先はf64でなければできないとあります。
https://doc.rust-lang.org/std/convert/trait.From.html
で該当部分を抜き出すと、
impl From<i16> for f32
impl From<i16> for f64
~
impl From<i32> for f64
i32からfloatに変換するときにはf32ではダメで、f64になるよということで無理に変換しようとするとエラーメッセージは、
the trait `From<i32>` is not implemented for `f32`
なので、そういうことです。i32の精度はf32では保持できないから変換に意味がないから用意されてないということです。
admin