blob: 7811b3909bf022ccfb0710e38327edac14b7b3df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
enum class Fun[-T, +U >: Null] {
def f: T => U = null
}
object Fun {
case Identity[T, U >: Null](override val f: T => U) extends Fun[T, U]
case ConstNull {
override def f = x => null
}
case ConstNullClass() {
override def f = x => null
}
case ConstNullSimple
}
object Test {
def main(args: Array[String]) = {
val x: Null = Fun.ConstNull.f("abc")
val y: Null = Fun.ConstNullClass().f("abc")
assert(Fun.ConstNullSimple.f == null)
}
}
|