diff options
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/bug44.check | 6 | ||||
-rw-r--r-- | test/files/neg/bug44.scala | 5 | ||||
-rw-r--r-- | test/files/neg/refine.check | 6 | ||||
-rw-r--r-- | test/files/neg/refine.scala | 6 | ||||
-rw-r--r-- | test/files/neg/vincent1.check | 7 | ||||
-rw-r--r-- | test/files/neg/vincent1.scala | 19 |
6 files changed, 49 insertions, 0 deletions
diff --git a/test/files/neg/bug44.check b/test/files/neg/bug44.check new file mode 100644 index 0000000000..9347758ac9 --- /dev/null +++ b/test/files/neg/bug44.check @@ -0,0 +1,6 @@ +bug44.scala:2: type mismatch; + found : scala.Object + required: scala.Object { def t: scala.Int } + var x: Object { def t: Int; } = new Object() { + ^ +one error found diff --git a/test/files/neg/bug44.scala b/test/files/neg/bug44.scala new file mode 100644 index 0000000000..7989838250 --- /dev/null +++ b/test/files/neg/bug44.scala @@ -0,0 +1,5 @@ +abstract class C { + var x: Object { def t: Int; } = new Object() { + def t: Int = 1; + } +} diff --git a/test/files/neg/refine.check b/test/files/neg/refine.check new file mode 100644 index 0000000000..271451e65e --- /dev/null +++ b/test/files/neg/refine.check @@ -0,0 +1,6 @@ +refine.scala:3: type mismatch; + found : scala.Object + required: scala.Object { def t(): java.lang.String } + val x: Object { def t(): String } = new Object { + ^ +one error found diff --git a/test/files/neg/refine.scala b/test/files/neg/refine.scala new file mode 100644 index 0000000000..5d175f26f5 --- /dev/null +++ b/test/files/neg/refine.scala @@ -0,0 +1,6 @@ +object test { + + val x: Object { def t(): String } = new Object { + def t(): String = "1"; + } +} diff --git a/test/files/neg/vincent1.check b/test/files/neg/vincent1.check new file mode 100644 index 0000000000..a9f60e9ad2 --- /dev/null +++ b/test/files/neg/vincent1.check @@ -0,0 +1,7 @@ +vincent1.scala:7: type x.type escapes its defining scope as part of scala.Object { type T = x.T } + class Functor(x: A) { type T = x.T } + ^ +vincent1.scala:9: type x.type escapes its defining scope as part of test.B { type T = x.T } + def functor(x: A): B { type T = x.T } = + ^ +two errors found diff --git a/test/files/neg/vincent1.scala b/test/files/neg/vincent1.scala new file mode 100644 index 0000000000..fb047305ff --- /dev/null +++ b/test/files/neg/vincent1.scala @@ -0,0 +1,19 @@ +object test { + + trait A { type T; } + + trait B { type T; } + + class Functor(x: A) { type T = x.T } + + def functor(x: A): B { type T = x.T } = + new B { + type T = x.T; + }; + + val a = new A { type T = String }; + val b = functor(a); + + val s: b.T = "coucou"; + +} |