型でマイナス演算子を表現する方法はありますか? 私はこれを達成できるようにしたいと思います:
trait A
trait B
type C = A with B
type D = C minus A
// type B == D
これを直接行うことはできないことはわかっていますが、誰かがこの演算子を巧妙なトリックで表現できた可能性があります...
- - 編集
動機:
trait A
object B extends A
object C extends A
object D extends A
def myMethod(one:A,two:A,three:A) = ???
すべてのタイプを一度だけ使用することは有効であるため、このメソッドのユーザーがB
パラメーターを選択すると、他のパラメーターでone
使用することが有効になります... C
D