summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-08-28 17:32:40 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-09-12 09:09:14 +0200
commit27d73ee7a92d8dd10d4d0598a29d3a3657053995 (patch)
treeb3596443308ef4b5e2aeb70cca731b8a480a56b9 /test
parent38a488ea17e4ed42b65df4095c2eac738a63f5c4 (diff)
downloadscala-27d73ee7a92d8dd10d4d0598a29d3a3657053995.tar.gz
scala-27d73ee7a92d8dd10d4d0598a29d3a3657053995.tar.bz2
scala-27d73ee7a92d8dd10d4d0598a29d3a3657053995.zip
SI-7223 More finesse in setting INCONSTRUCTOR
It's a clunky flag used to determine very early on whether we're in the self-call, super-call or early-init section. In SI-6666 / fd6125428, the check was improved to consider nesting. But, that caused this regression, as Function's haven't been translated to classes yet, so our check for enclosing non-term owners failed wrongly flagged definitins body of a anonymous function as INCONSTRUCTOR. With this patch, we correctly flag: class C extends D { // INCONSTRUCTOR () => { !INCONSTRUCTOR } // INCONSTRUCTOR }
Diffstat (limited to 'test')
-rw-r--r--test/files/run/t7223.check1
-rw-r--r--test/files/run/t7223.scala11
2 files changed, 12 insertions, 0 deletions
diff --git a/test/files/run/t7223.check b/test/files/run/t7223.check
new file mode 100644
index 0000000000..573541ac97
--- /dev/null
+++ b/test/files/run/t7223.check
@@ -0,0 +1 @@
+0
diff --git a/test/files/run/t7223.scala b/test/files/run/t7223.scala
new file mode 100644
index 0000000000..a707e957df
--- /dev/null
+++ b/test/files/run/t7223.scala
@@ -0,0 +1,11 @@
+class D(val a: () => Int => () => Any) {
+ a()(0)()
+}
+
+object Crash extends D(() => {
+ (x: Int) => {() => { new { println(x.toString) } }}
+})
+
+object Test extends App {
+ Crash
+}