関連型を持つトレイトオブジェクトを宣言する
dyn トレイト<関連型 = 型>
trait Tr { type Ty; fn go(&self) -> () {} } struct St {} impl Tr for St { type Ty = String; fn go(&self) -> () {} } // トレイトオブジェクトに対して関連型を指定できる fn foo(t: &dyn Tr<Ty = String>) -> () { t.go() } fn main() { foo(&St{}); }