diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/saito.check | 4 | ||||
-rw-r--r-- | test/files/neg/saito.scala | 14 | ||||
-rw-r--r-- | test/files/res/bug687.check | 2 |
3 files changed, 19 insertions, 1 deletions
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 |