Scala generic (tuple) type with multiple subtypes
I am writing a data structure (basically a hashmap) in Scala that will take one tuple (of possibly different number of arguments each time) and do something with it. To generically implement this, I defined a type: type T <: Tuple1[_] with Tuple2[_,_] with Tuple3[_,_,_] with Tuple4[_,_,_,_] with Tuple5[_,_,_,_,_] and then the data structure val map = new HashMap[Int, T] But this is ugly, since I have to change the type every time I have to handle more arguments in a tuple. Is there to define a generic tuple type? Thanks, Y.K. The first solution is to use Product , as said by @om-nom-nom.