NShiftKey-Rule-Guide logo NShiftKey-Rule-Guide

1. Vulnerability Description

2. Vulnerability Countermeasure

3. Sample Code

scala> trait Animal
defined trait Animal

scala> trait FurryAnimal extends Animal
defined trait FurryAnimal

scala> case class Dog(name:String) extends Animal
defined class Dog

scala> case class Cat(name:String) extends Animal
defined class Cat

scala> val x = Array(Dog("Fido"),Cat("Felix"))
x: Array[Product with Serializable with Animal] = Array(Dog(Fido), Cat(Felix))
scala> trait Animal extends Product with Serializable
defined trait Animal

scala> case class Dog(name: String) extends Animal
defined class Dog

scala> case class Cat(name: String) extends Animal
defined class Cat

scala> Array(Dog("d"), Cat("c"))
res0: Array[Animal] = Array(Dog(d), Cat(c))