From b9785280a7138a2bb52060faf94807aa0d07dec1 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 24 Aug 2011 17:11:55 +0000 Subject: Renamed tests named bugXXX to tXXX, no review. --- test/files/run/t657.scala | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 test/files/run/t657.scala (limited to 'test/files/run/t657.scala') diff --git a/test/files/run/t657.scala b/test/files/run/t657.scala new file mode 100644 index 0000000000..a9726092e7 --- /dev/null +++ b/test/files/run/t657.scala @@ -0,0 +1,51 @@ +abstract class BaseList { + type Node <: NodeImpl; + implicit def convertNode(ni : NodeImpl) = ni.asInstanceOf[Node]; + abstract class NodeImpl; +} +abstract class LinkedList extends BaseList { + type Node <: NodeImpl; + trait NodeImpl extends super.NodeImpl; +} +trait OffsetList extends LinkedList { + type Node <: NodeImpl; + trait NodeImpl extends super.NodeImpl; +} + +trait PriorityTree extends BaseList { + type Node <: NodeImpl; + trait NodeImpl extends super.NodeImpl { + def chop : Node = this; + } +} + +trait PrecedenceParser extends LinkedList with PriorityTree { + type Node <: NodeImpl; + trait NodeImpl extends super[LinkedList].NodeImpl with super[PriorityTree].NodeImpl; +} + +trait Matcher extends PrecedenceParser { + type Node <: NodeImpl; + trait NodeImpl extends super.NodeImpl; + + type Matchable <: Node with MatchableImpl; + implicit def convertMatchable(m : MatchableImpl) = m.asInstanceOf[Matchable]; + trait MatchableImpl extends NodeImpl { + override def chop : Node = { + Console.println("passed"); super.chop; + } + } +} + +class Test1 extends OffsetList with Matcher { + type Node = NodeImpl; + trait NodeImpl extends super[OffsetList].NodeImpl with super[Matcher].NodeImpl; + class MatchableImpl extends super.MatchableImpl with NodeImpl; + type Matchable = MatchableImpl; +} + +object Test extends App { + val test = new Test1; + val m = new test.MatchableImpl; + m.chop; +} -- cgit v1.2.3