From 7931d3dbaf84016b7a1e5030775888d65a42f5b2 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 8 Jan 2007 08:59:31 +0000 Subject: added one test, changed to check files. --- test/files/neg/saito.check | 4 ++++ test/files/neg/saito.scala | 14 ++++++++++++++ test/files/res/bug687.check | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 test/files/neg/saito.check create mode 100644 test/files/neg/saito.scala (limited to 'test') diff --git a/test/files/neg/saito.check b/test/files/neg/saito.check new file mode 100644 index 0000000000..142ed903cc --- /dev/null +++ b/test/files/neg/saito.check @@ -0,0 +1,4 @@ +saito.scala:10: error: class A cannot be instantiated because it does not conform to its self-type B + val a: A = new A; // should not be allowed + ^ +one error found diff --git a/test/files/neg/saito.scala b/test/files/neg/saito.scala new file mode 100644 index 0000000000..a8bcc79d65 --- /dev/null +++ b/test/files/neg/saito.scala @@ -0,0 +1,14 @@ +class B {} +class A requires B { + def m(): B = { + this + } +} + +object Exec{ + def main(args: Array[String]): Unit = { + val a: A = new A; // should not be allowed + val b: B = a.m(); + } +} + diff --git a/test/files/res/bug687.check b/test/files/res/bug687.check index 7bea791077..52f80bbe27 100644 --- a/test/files/res/bug687.check +++ b/test/files/res/bug687.check @@ -1,6 +1,6 @@ nsc> -nsc> bug687/QueryB.scala:3 error: name clash between defined and inherited member: +nsc> bug687/QueryB.scala:3: error: name clash between defined and inherited member: method equals:(java.lang.Object)scala.Boolean and method equals:(scala.Any)scala.Boolean in class Any have same type after erasure: (java.lang.Object)scala.Boolean -- cgit v1.2.3