summaryrefslogtreecommitdiff
path: root/test/files/pos/scoping3.scala
blob: c1a65e287f4fa9cd473709fd2d7b9ac3bfed158a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// $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 extends TreeDisplay { self: TreeDisplayFinal =>
     def display() = { this.getRoot().display(); }
   }
}