summaryrefslogtreecommitdiff
path: root/test/files/pos/scoping3.scala
blob: 7f45723ce247f8bf8e546a6b59203fab88305b20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// $Id$

object CI {
   trait TreeDisplay {
	type TreeNode <: ITreeNode;
	trait ITreeNode {
	  def display(): unit;
	}
   }
   trait TreeDisplayExp {
	def getRoot(): TreeNode;
	type TreeNode <: ITreeNodeExp;
	trait ITreeNodeExp {}
   }
   trait TreeDisplayFinal extends TreeDisplay with TreeDisplayExp {
   	type TreeNode <: ITreeNode with ITreeNodeExp;
   }
   abstract class SimpleTreeDisplay requires TreeDisplayFinal extends
TreeDisplay {
     def display() = { this.getRoot().display(); }
   }
}