diff options
author | Paul Phillips <paulp@improving.org> | 2012-12-26 15:52:26 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-12-26 15:52:26 -0800 |
commit | 5b5635ee9d227ff61834f5a538d0f8082192f9b6 (patch) | |
tree | c017d3bb0e3e8d4f5a600310c7051fd4ff077394 /test | |
parent | b063de287f29c18d6f33c3e9f419c30ff0eb1fe4 (diff) | |
parent | 5b2990c5119ae58d2c9d90d6b4822d906559aeef (diff) | |
download | scala-5b5635ee9d227ff61834f5a538d0f8082192f9b6.tar.gz scala-5b5635ee9d227ff61834f5a538d0f8082192f9b6.tar.bz2 scala-5b5635ee9d227ff61834f5a538d0f8082192f9b6.zip |
Merge pull request #1786 from retronym/ticket/6745-3
SI-6745 Fix <init> lookup
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t4460a.check | 4 | ||||
-rw-r--r-- | test/files/neg/t4460a.scala | 7 | ||||
-rw-r--r-- | test/files/neg/t4460b.check | 4 | ||||
-rw-r--r-- | test/files/neg/t4460b.scala | 9 | ||||
-rw-r--r-- | test/files/neg/t4460c.check | 7 | ||||
-rw-r--r-- | test/files/neg/t4460c.scala | 7 | ||||
-rw-r--r-- | test/files/pos/t6745.scala | 4 |
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) +} |