Swift で Generics を使って Comparable の挙動を変更する

昨日の続きを調べて、一応やりたかったことは実現できたのでブログにも書いておく。

sinsoku.hatenablog.com

サンプルコード

gist のコードの通りだけど、 Generics を使ってクラスの初期化時に Comparable に使う struct を渡せるようにしている。 こうやっておけば let array = [A<Q>()] みたいに同じ Comparable の型に限定した Array が作れて型安全。