summaryrefslogtreecommitdiff
path: root/test/files/neg/bug67.scala
blob: 3e7c678c1dfa8417c0eeb4052cd4318998c18141 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class D[A <: Ordered[A],B] {
    abstract class Tree[A <: Ordered[A],B]();
    case class Node[A,B](key:A,value:B,smaller:Tree[A,B],bigger:Tree[A,B])
	extends Tree[A,B];
    case class Nil[A,B]() extends Tree[A,B];


    abstract case class InsertTree[A,B]();
    case class ITree[A,B](t:Tree[A,B]); // forgot extends InsertTree[A,B];
    case class INode[A,B](t:Tree[A,B],height:int,size:int); // forgot extends InsertTree[A,B];
    val tree:Tree[A,B] = Nil();
    val s = 0;

    def insert(key:A, value:B) = {
	val ITree(t1) = insert_1(key, value, tree, s);
    }

    def insert_1(key:A, value:B, t0:Tree[A,B], s:int):InsertTree[A,B] = {
	INode(t0,1,s);
    }
}