2019-01-20から1日間の記事一覧

Rustでtraitのassociated typeに対してtrait boundaryを課す

RustのTraitは内部に型を持つことがある。関連型(associated type)だ trait Hoge { type Value; } impl Hoge for Piyo { type Value = Fuga; } このValue型についてトレイト境界を付けたい。 つまり、ある型Tがあり、型<T as Hoge>::ValueがOtherTraitを満たす場合の</t>…

Rustでgenericなenumを作る

パッと出てこなかったので。 例えば、位置か速度か力かわからないベクトルがあるとする。すると、Rustならenumにするだろう。 enum CoordKind { Position{x:f64, y:f64, z:f64}, Velocity{x:f64, y:f64, z:f64}, } let pos = CoordKind::Position{x: 1.0, y:…