Closed4

Ray Tracing in Rust

akkyakky

Rustでiter()などでIteratorオブジェクトに変換するためには、
FromIterトレイトを実装する必要がある

基本的にRustでは明示的に型変換を行う必要があることが多い(特にプリミティヴではない型)
Rustはコンパイル時に型が確定するため、どの型にどのように変換するのかが分からないと、確かに困りそう
明示的な型変換とは、into() とか collect() とか? を指していそう
これを行うために FromX<T> トレイトを実装させることが多い)

ちなみに、Fromトレイトを実装するとIntoは自動生成されるらしい?

また、
U::from(t)t.into() は同じ動作をするっぽい

akkyakky

これも脇道に逸れた話だけど、
std::str::FromStrstd::string::ToString というものがあるが、
std::fmt::Display を実装したほうが汎用的なので、ToString を実装することは少ないらしい

このスクラップは2023/03/14にクローズされました