Here is the method signature example:
someMethod [A <: BaseType : SecondType : ClassTag]
trait BaseType {}
trait SecondType[A] {}
ClassTag is scala.reflect.ClassTag
What does ":" means?
Does BaseType influence to SecondType or/and ClassTag parametrization?
For me when I see [A <: BaseType]
I understand that I should call someMethod
with type parameter that implements/extends trait BaseType
, but what other parameters are used for?