diff options
Diffstat (limited to 'test/files/neg/bug67.scala')
-rw-r--r-- | test/files/neg/bug67.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/neg/bug67.scala b/test/files/neg/bug67.scala new file mode 100644 index 0000000000..48229defaa --- /dev/null +++ b/test/files/neg/bug67.scala @@ -0,0 +1,21 @@ +class D[A <: Ord[A],B] { + abstract class Tree[A <: Ord[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); + } +} |