File: gadts2.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (12 lines) | stat: -rw-r--r-- 419 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
trait Super[+A]
case class Sub[B](f: B => B) extends Super[B]

object Test extends App {
  val s1 = Sub((x: Int) => x)

  (s1: Super[Any]) match { case Sub(f) => f("abc") }
}
// java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
//   at scala.runtime.BoxesRunTime.unboxToInt(BoxesRunTime.java:105)
//   at Test$$anonfun$1.apply(a.scala:5)
//   at Test$.delayedEndpoint$Test$1(a.scala:7)