このメソッドを使用して特性のインスタンスを作成しようとしています
val inst = new Object with MyTrait
これはうまくいきますが、この作成をジェネレーター関数に移動したいと思います。
object Creator {
def create[T] : T = new Object with T
}
型消去の問題をどうにかして修正するためにマニフェストが必要なのは明らかですが、これに到達する前に、2 つの質問に出くわします。
暗黙のマニフェストがあっても、Scala は T がトレイトであることを要求します。T がトレイトになるように create[T] に制限を追加するにはどうすればよいですか?
"new" を使用するのではなく、Class.newInstance メソッドを使用してインスタンスを動的に作成することを選択した場合、"new Object with T" で "with" をどのように指定しますか? 実行時に新しい具体的な mixin タイプを動的に作成することは可能ですか?