summaryrefslogtreecommitdiff
path: root/test/files/pos/bug591.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-05-16 11:31:55 +0000
committerMartin Odersky <odersky@gmail.com>2006-05-16 11:31:55 +0000
commit332ab9f485d457c6f14abd46e548eecbb79ea602 (patch)
tree9db4c55372d9a404448eaf35b328c584f5d717bb /test/files/pos/bug591.scala
parentddfe2e74ecf827a0659696c3a21756f3038d585a (diff)
downloadscala-332ab9f485d457c6f14abd46e548eecbb79ea602.tar.gz
scala-332ab9f485d457c6f14abd46e548eecbb79ea602.tar.bz2
scala-332ab9f485d457c6f14abd46e548eecbb79ea602.zip
Fixed bug 592
Diffstat (limited to 'test/files/pos/bug591.scala')
-rw-r--r--test/files/pos/bug591.scala41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/files/pos/bug591.scala b/test/files/pos/bug591.scala
new file mode 100644
index 0000000000..94d8068bb3
--- /dev/null
+++ b/test/files/pos/bug591.scala
@@ -0,0 +1,41 @@
+abstract class BaseList {
+ type Node <: BaseNode;
+
+
+ abstract class BaseNode {
+ protected def self : Node;
+ private[BaseList] def self00 = self;
+ def dirty : Unit = {}
+ def replaceWith(node : Node) = {}
+ }
+
+ implicit def baseNode2Node(bnode : BaseNode): Node = bnode.self00;
+
+
+}
+
+
+trait BaseFlow extends BaseList {
+ type Node <: BFNode;
+ type Flow <: FlowBase;
+ type Output <: OutputBase;
+ type Input <: InputBase;
+
+ abstract class FlowBase {
+
+ }
+ trait OutputBase extends FlowBase {
+
+ }
+ trait InputBase extends FlowBase {
+
+ }
+
+ trait BFNode extends BaseNode {
+ private var input : Input = null;
+ private var output : Output = null;
+
+ def input_=(in : Input) = {}
+
+ }
+}