型消去を考えると、次のオーバーロード定義を解決するための最も効率的でエレガントな方法は何ですか。
trait Signal
trait Step[T] {
def ar(implicit ev: T <:< Boolean): Signal
def ar(implicit ev: T <:< Float ): Signal
}
Boolean
とFloat
パラメータ化に異なる名前を使用せずに?理想的にはそうなるでしょうがT <:< Boolean union Float
、それは存在しません...余分な暗黙の間接参照なしで実行できますか?