En Scala, la varianza se puede definir con operadores de varianza como + y - en el argumento de tipo genérico. Por ejemplo, el tipo List es covariante en la biblioteca estándar. class List[+A]
lo ta
Este problema surgió en un módulo que estoy escribiendo, pero he hecho un caso mínimo que muestra el mismo comportamiento. class Minimal[T](x : T) {
def doSomething = x
}
object Sugar {
t
¿Es posible hacer algo como esto en Scala: class MyTest {
def foo[A <: String _or_ A <: Int](p:List[A]) = {}
}
Es decir, el tipo A podría ser una String o Int. es posible? (pregunta similares