Closed
Description
I thought this was already open somewhere but I can't find it.
scala> case class Foo[T, U](f: T => U)
defined class Foo
// uh-oh, Any => Any should be Nothing => Any.
scala> def f(x: Any) = x match { case Foo(bar) => bar }
f: (x: Any)Any => Any
scala> def f(x: Any) = x match { case Foo(bar) => bar(5) }
f: (x: Any)Any
scala> f(Foo((x: String) => x))
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at $anonfun$1.apply(<console>:11)
at .f(<console>:9)
at .<init>(<console>:11)