From b629bde913be70b95e00f4c7a252e55dee070d34 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 15 Jan 2004 12:23:01 +0000 Subject: *** empty log message *** --- test/files/neg/bug44.check | 6 ++++++ test/files/neg/bug44.scala | 5 +++++ test/files/neg/refine.check | 6 ++++++ test/files/neg/refine.scala | 6 ++++++ test/files/neg/vincent1.check | 7 +++++++ test/files/neg/vincent1.scala | 19 +++++++++++++++++++ 6 files changed, 49 insertions(+) create mode 100644 test/files/neg/bug44.check create mode 100644 test/files/neg/bug44.scala create mode 100644 test/files/neg/refine.check create mode 100644 test/files/neg/refine.scala create mode 100644 test/files/neg/vincent1.check create mode 100644 test/files/neg/vincent1.scala (limited to 'test/files/neg') 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"; + +} -- cgit v1.2.3