summaryrefslogblamecommitdiff
path: root/test/files/pos/scoping3.scala
blob: 761d5c311e5295b9aeb77200db6e2af6b0f50db3 (plain) (tree)
1
2
3

       
           


















                                                                                  
 
// $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() }
  }
}