summaryrefslogtreecommitdiff
path: root/test/files/neg/sabin2.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-06-15 18:00:19 +0000
committerMartin Odersky <odersky@gmail.com>2007-06-15 18:00:19 +0000
commit225fac5af513f7bc7edd7b7e8e262ab151ef823e (patch)
tree06bf7b50cd2486323994fe32999bdc2754c37cac /test/files/neg/sabin2.scala
parentba3b4ba405c66059a3ca7809557d988358fa7162 (diff)
downloadscala-225fac5af513f7bc7edd7b7e8e262ab151ef823e.tar.gz
scala-225fac5af513f7bc7edd7b7e8e262ab151ef823e.tar.bz2
scala-225fac5af513f7bc7edd7b7e8e262ab151ef823e.zip
more existentials
Diffstat (limited to 'test/files/neg/sabin2.scala')
-rw-r--r--test/files/neg/sabin2.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/files/neg/sabin2.scala b/test/files/neg/sabin2.scala
new file mode 100644
index 0000000000..308632e990
--- /dev/null
+++ b/test/files/neg/sabin2.scala
@@ -0,0 +1,23 @@
+object Test extends Application
+ {
+ abstract class Base {
+ type T
+ var x: T = _
+ class Inner {
+ def set(y: T) = x = y
+ def get() = x
+ def print() = println("Hello world")
+ }
+ }
+
+ object IntBase extends Base { type T = Int }
+ object StringBase extends Base { type T = String }
+
+ val a : Base#Inner = new IntBase.Inner
+ val b : Base#Inner = new StringBase.Inner
+
+ a.print() // OK
+ b.print() // OK
+
+ a.set(b.get()) // Error
+ }