Как в Scala сделать что-то вроде этого:
def cast [Type] (x: _ >: Type, errMsg: String): Type = {
if (x.isInstanceOf[Type]) {
x.asInstanceOf[Type]
} else {
throw new Exception(errMsg)
}
}
x: _ >: Type
(нотация, которая делает не существует в Scala), что означает «тип x является любым супертипом Type».