Generics Contravariance in Scala PRO

When using generics Scala doesn’t support covariance. The following code doesn’t compile.

object HelloSample
{
  def main(args:Array[String]):Unit =
  {
    val a:MyStack[SportCar] = new MyStack[SportCar];
    val b:MyStack[Car] = a;
  }
}

class Car

class SportCar extends Car

class MyStack[T]

The following video clip shows the compilation error we get while trying to compile this code and explains it.

Share:

The Beauty of Code

Coding is Art! Developing Code That Works is Simple. Develop Code with Style is a Challenge!

Update cookies preferences