summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t4460a.check4
-rw-r--r--test/files/neg/t4460a.scala7
-rw-r--r--test/files/neg/t4460b.check4
-rw-r--r--test/files/neg/t4460b.scala9
-rw-r--r--test/files/neg/t4460c.check7
-rw-r--r--test/files/neg/t4460c.scala7
-rw-r--r--test/files/pos/t6745.scala4
7 files changed, 42 insertions, 0 deletions
diff --git a/test/files/neg/t4460a.check b/test/files/neg/t4460a.check
new file mode 100644
index 0000000000..b711e7acb1
--- /dev/null
+++ b/test/files/neg/t4460a.check
@@ -0,0 +1,4 @@
+t4460a.scala:6: error: called constructor's definition must precede calling constructor's definition
+ def this() = this() // was binding to Predef.<init> !!
+ ^
+one error found
diff --git a/test/files/neg/t4460a.scala b/test/files/neg/t4460a.scala
new file mode 100644
index 0000000000..0a7a22178d
--- /dev/null
+++ b/test/files/neg/t4460a.scala
@@ -0,0 +1,7 @@
+trait A
+
+class B(val x: Int) {
+ self: A =>
+
+ def this() = this() // was binding to Predef.<init> !!
+}
diff --git a/test/files/neg/t4460b.check b/test/files/neg/t4460b.check
new file mode 100644
index 0000000000..f0e703fd10
--- /dev/null
+++ b/test/files/neg/t4460b.check
@@ -0,0 +1,4 @@
+t4460b.scala:7: error: called constructor's definition must precede calling constructor's definition
+ def this() = this() // was binding to Predef.<init> !!
+ ^
+one error found
diff --git a/test/files/neg/t4460b.scala b/test/files/neg/t4460b.scala
new file mode 100644
index 0000000000..1233017dd4
--- /dev/null
+++ b/test/files/neg/t4460b.scala
@@ -0,0 +1,9 @@
+trait A
+
+class Outer() {
+ class B(val x: Int) {
+ self: A =>
+
+ def this() = this() // was binding to Predef.<init> !!
+ }
+}
diff --git a/test/files/neg/t4460c.check b/test/files/neg/t4460c.check
new file mode 100644
index 0000000000..4e96711b8b
--- /dev/null
+++ b/test/files/neg/t4460c.check
@@ -0,0 +1,7 @@
+t4460c.scala:4: error: overloaded method constructor B with alternatives:
+ (a: String)B <and>
+ (x: Int)B
+ cannot be applied to ()
+ def this(a: String) = this()
+ ^
+one error found
diff --git a/test/files/neg/t4460c.scala b/test/files/neg/t4460c.scala
new file mode 100644
index 0000000000..1ae258508e
--- /dev/null
+++ b/test/files/neg/t4460c.scala
@@ -0,0 +1,7 @@
+class B(val x: Int) {
+ self: A =>
+
+ def this(a: String) = this()
+}
+
+class A()
diff --git a/test/files/pos/t6745.scala b/test/files/pos/t6745.scala
new file mode 100644
index 0000000000..2ab8e6d39a
--- /dev/null
+++ b/test/files/pos/t6745.scala
@@ -0,0 +1,4 @@
+class Bar(val i: Int) {
+ self: Any with AnyRef =>
+ def this() = this(0)
+}