diff options
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/bug591.check | 4 | ||||
-rw-r--r-- | test/files/neg/bug591.scala | 41 |
2 files changed, 45 insertions, 0 deletions
diff --git a/test/files/neg/bug591.check b/test/files/neg/bug591.check new file mode 100644 index 0000000000..9d1a090053 --- /dev/null +++ b/test/files/neg/bug591.check @@ -0,0 +1,4 @@ +bug591.scala:38 error: method input_= is defined twice + def input_=(in : Input) = {} + ^ +one error found diff --git a/test/files/neg/bug591.scala b/test/files/neg/bug591.scala new file mode 100644 index 0000000000..94d8068bb3 --- /dev/null +++ b/test/files/neg/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) = {} + + } +} |