Avatar
その時の例でいうとツリーノードを作ってて親への弱参照も欲しかったし、継承機能も使ってた。
2:43 AM
何もかも Ref で包めば参照グラフは作れるけど 何もかも包むとC++みたいで大変だし、そのパターンだと継承ができない
2:43 AM
クラス制約付きのprotocol と親クラスの比較だと、 親クラスだと1つしか持てないから特性の合成が表現できないし protocol なら実装漏れチェックができるけど親クラスだとできない
2:44 AM
クラス特有の機能が使いたくて、かつ、親クラスじゃなくて protocol を使いたい状況ってのはあると思ってて
2:44 AM
値型に無理によせても、それらの機能を手動でエミュレートしていく事になるから、それなら最初からclassに寄せたほうが良いと思う
2:46 AM
逆に TypeErasure でどこまでができて、どこまでならクラスにのっかったほうがいいのか っていうプラクティスは最近考え中。