blob: 7ff49ff70f00768921b5e5b3b520212d66295678 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
|
module test {
class List[+a] {
def ::[b >: a](x: b): List[b] = new Cons(x, this);
}
case class Cons[a, b <: a](x: a, xs: List[b]) extends List[a];
case object Nil extends List[All];
def nil[a]: List[a] = Nil;
def cons[a](x: a, xs: List[a]): List[a] = null;
val x: List[Int] = Nil.::(1);
val y: List[Int] = nil.::(1);
}
|