diff options
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/bug409.check | 2 | ||||
-rw-r--r-- | test/files/neg/bug593.check | 2 | ||||
-rw-r--r-- | test/files/neg/sabin2.check | 5 | ||||
-rw-r--r-- | test/files/neg/sabin2.scala | 23 |
4 files changed, 30 insertions, 2 deletions
diff --git a/test/files/neg/bug409.check b/test/files/neg/bug409.check index 63ece3b0f0..25e5a41d16 100644 --- a/test/files/neg/bug409.check +++ b/test/files/neg/bug409.check @@ -1,4 +1,4 @@ -bug409.scala:6: error: traits may not have parameters +bug409.scala:6: error: traits or objects may not have parameters class Toto extends Expr with Case1(12); ^ one error found diff --git a/test/files/neg/bug593.check b/test/files/neg/bug593.check index eeb745631b..f71affec5a 100644 --- a/test/files/neg/bug593.check +++ b/test/files/neg/bug593.check @@ -1,4 +1,4 @@ -bug593.scala:1: error: traits may not have parameters +bug593.scala:1: error: traits or objects may not have parameters trait Wrapper[T](x : T) { ^ one error found diff --git a/test/files/neg/sabin2.check b/test/files/neg/sabin2.check new file mode 100644 index 0000000000..e127cc67a2 --- /dev/null +++ b/test/files/neg/sabin2.check @@ -0,0 +1,5 @@ +sabin2.scala:22: error: method set cannot be accessed in Test.this.Base#Inner + because its instance type (Test.this.Base#T)Unit contains a malformed type: Test.this.Base#T + a.set(b.get()) // Error + ^ +one error found 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 + } |