diff options
author | Martin Odersky <odersky@gmail.com> | 2007-11-16 15:57:40 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-11-16 15:57:40 +0000 |
commit | 41be228d1a658540125eed984a48f8ea9a500927 (patch) | |
tree | 5299850fad5b253e68c991c9ea90c2bfd1b3d665 /test/files/pos | |
parent | 7b61cfa3e46c52f848e1077a27fbb3ab7456d83b (diff) | |
download | scala-41be228d1a658540125eed984a48f8ea9a500927.tar.gz scala-41be228d1a658540125eed984a48f8ea9a500927.tar.bz2 scala-41be228d1a658540125eed984a48f8ea9a500927.zip |
fixed #209
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/bug1010.scala | 15 | ||||
-rw-r--r-- | test/files/pos/bug415.scala | 9 | ||||
-rw-r--r-- | test/files/pos/bug839.scala | 26 |
3 files changed, 35 insertions, 15 deletions
diff --git a/test/files/pos/bug1010.scala b/test/files/pos/bug1010.scala deleted file mode 100644 index 7a1e6615e5..0000000000 --- a/test/files/pos/bug1010.scala +++ /dev/null @@ -1,15 +0,0 @@ -class MailBox { - class Message - //type Message = AnyRef -} - -abstract class Actor { - private val in = new MailBox - - def send(msg: in.Message) = error("foo") - - def unstable: Actor = error("foo") - - def dubiousSend(msg: MailBox#Message): Nothing = - unstable.send(msg) // in.Message becomes unstable.Message, but that's ok since Message is a concrete type member -} diff --git a/test/files/pos/bug415.scala b/test/files/pos/bug415.scala new file mode 100644 index 0000000000..355b6136d1 --- /dev/null +++ b/test/files/pos/bug415.scala @@ -0,0 +1,9 @@ +abstract class A { + type T <: String; + def x: T; +} + +abstract class B { + def a: A; + val y: String = a.x; +} diff --git a/test/files/pos/bug839.scala b/test/files/pos/bug839.scala new file mode 100644 index 0000000000..d845ed3aae --- /dev/null +++ b/test/files/pos/bug839.scala @@ -0,0 +1,26 @@ +// see pending/pos/bug112606A.scala +package test; +trait Test { + trait Global { + type Tree; + def get : Tree; + } + trait TreeBuilder { + val global : Global; + def set(tree : global.Tree) = {} + } + val nsc : Global; + trait FileImpl { + object treeBuilder extends TreeBuilder { + val global : nsc.type = nsc; + } + // OK + treeBuilder.set(nsc.get); + } + val file0 : FileImpl; + // OK + file0.treeBuilder.set(nsc.get); + def file : FileImpl; + // type mismatch + file.treeBuilder.set(nsc.get); +} |