类似这样
trait SomeTrait {
def m[A <: (String, ... *)](value: A)
}
可能可以使用某些库来实现。
更新:List(String)看起来很简单,但是我很好奇表达这种条件的能力。
答案 0 :(得分:1)
您可以使用无形状。
import shapeless._
trait SomeTrait {
def m[T <: Product, L <: HList](t : T)
(implicit gen: Generic.Aux[T, L],
c: LUBConstraint[L, String]) = println(t)
}
// m(("2","3","7")) // compiles
// m(("2","3",7)) // wont compile
// m(("2","3","7","8")) // compiles