From dceda6e34775cf59ebcd94b7d47427a8e67c3e25 Mon Sep 17 00:00:00 2001 From: Gilles Dubochet Date: Thu, 26 Jan 2006 09:32:34 +0000 Subject: Added Martin's additional test cases. --- test/files/neg/bug510.check | 4 ++++ test/files/neg/bug510.scala | 26 ++++++++++++++++++++++++++ test/files/neg/bug512.check | 4 ++++ test/files/neg/bug512.scala | 5 +++++ test/files/neg/bug515.check | 6 ++++++ test/files/neg/bug515.scala | 8 ++++++++ test/files/neg/bug85.check | 11 +++++++++++ test/files/pos/bug514.scala | 7 +++++++ test/files/pos/bug516.scala | 14 ++++++++++++++ 9 files changed, 85 insertions(+) create mode 100755 test/files/neg/bug510.check create mode 100755 test/files/neg/bug510.scala create mode 100755 test/files/neg/bug512.check create mode 100755 test/files/neg/bug512.scala create mode 100755 test/files/neg/bug515.check create mode 100755 test/files/neg/bug515.scala create mode 100755 test/files/neg/bug85.check create mode 100755 test/files/pos/bug514.scala create mode 100755 test/files/pos/bug516.scala (limited to 'test') diff --git a/test/files/neg/bug510.check b/test/files/neg/bug510.check new file mode 100755 index 0000000000..79fbeeeccd --- /dev/null +++ b/test/files/neg/bug510.check @@ -0,0 +1,4 @@ +bug510.scala:19 error: cyclic aliasing or subtyping involving type T + def g(t: e.T): Unit = { + ^ +one error found diff --git a/test/files/neg/bug510.scala b/test/files/neg/bug510.scala new file mode 100755 index 0000000000..a1cd2df009 --- /dev/null +++ b/test/files/neg/bug510.scala @@ -0,0 +1,26 @@ +abstract class C { + + type T <: Any; + +} + +abstract class D[S <: C](_c: S) extends C { + + val c: S = _c; + type T <: c.T; + +} + +abstract class E(e: E) extends D[E](e); + +object Test { + + def f(e: E): Unit = { + def g(t: e.T): Unit = { + val i: Int = t; + () + } + () + } + +} diff --git a/test/files/neg/bug512.check b/test/files/neg/bug512.check new file mode 100755 index 0000000000..90c424729e --- /dev/null +++ b/test/files/neg/bug512.check @@ -0,0 +1,4 @@ +bug512.scala:3 error: not found: value something + val xxx = something || + ^ +one error found diff --git a/test/files/neg/bug512.scala b/test/files/neg/bug512.scala new file mode 100755 index 0000000000..0a0ccde75c --- /dev/null +++ b/test/files/neg/bug512.scala @@ -0,0 +1,5 @@ +package test; +class Foo { + val xxx = something || + something_else; +} diff --git a/test/files/neg/bug515.check b/test/files/neg/bug515.check new file mode 100755 index 0000000000..7d922885e0 --- /dev/null +++ b/test/files/neg/bug515.check @@ -0,0 +1,6 @@ +bug515.scala:7 error: type mismatch; + found : java.lang.String + required: Test.this.Truc + val parent: Truc = file.getMachin + ^ +one error found diff --git a/test/files/neg/bug515.scala b/test/files/neg/bug515.scala new file mode 100755 index 0000000000..34f965231c --- /dev/null +++ b/test/files/neg/bug515.scala @@ -0,0 +1,8 @@ +object Test extends Application { + class Truc { + def getMachin() = "machin" + def getMachinAsTruc() = this + } + val file = new Truc + val parent: Truc = file.getMachin +} diff --git a/test/files/neg/bug85.check b/test/files/neg/bug85.check new file mode 100755 index 0000000000..2e48792d5a --- /dev/null +++ b/test/files/neg/bug85.check @@ -0,0 +1,11 @@ +bug85.scala:6 error: type mismatch; + found : A.this.C + required: A.this.B#C + val b: B = new B(new C()); + ^ +bug85.scala:7 error: type mismatch; + found : A.this.b.C + required: A.this.C + val c: C = b.c; + ^ +two errors found diff --git a/test/files/pos/bug514.scala b/test/files/pos/bug514.scala new file mode 100755 index 0000000000..0b7b9ac009 --- /dev/null +++ b/test/files/pos/bug514.scala @@ -0,0 +1,7 @@ +object Test extends Application { + object Truc { + override def toString() = "oui" + def toString(bool: Boolean) = "chaispas" + } + val tata: String = Truc.toString +} diff --git a/test/files/pos/bug516.scala b/test/files/pos/bug516.scala new file mode 100755 index 0000000000..38aa4f70a6 --- /dev/null +++ b/test/files/pos/bug516.scala @@ -0,0 +1,14 @@ +import scala.collection.mutable._; + +class Members; + +object subscriber extends Subscriber[Message[String] with Undoable, Members] { + def notify(pub: Members, event: Message[String] with Undoable): Unit = + (event: Message[String]) match { + case Include(elem) => System.err.println("ADD: " + elem); + case Remove(elem) => System.err.println("REM: " + elem); + //case i : Include[HasTree] with Undoable => + //case r : Remove [HasTree] with Undoable => + } + } + -- cgit v1.2.3