summaryrefslogtreecommitdiff
path: root/test/files/neg/t7296.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-03-25 08:53:24 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-03-25 08:53:24 +0100
commitad79d74deef6e624aa7048543207ec97810f07f5 (patch)
tree9594965acecd7056ff37c17f2b53e6a04fe4a421 /test/files/neg/t7296.scala
parent1187c9896c097e6e591e5655b35f52c06b3c900a (diff)
downloadscala-ad79d74deef6e624aa7048543207ec97810f07f5.tar.gz
scala-ad79d74deef6e624aa7048543207ec97810f07f5.tar.bz2
scala-ad79d74deef6e624aa7048543207ec97810f07f5.zip
SI-7296 Avoid crash with nested 23-param case class
The implementation restriction doesn't stop subsequent typechecking in the same compilation unit from triggering type completion which tries to synthesize the unapply method. This commit predicates generation of the unapply method on having 22 or fewer parameters.
Diffstat (limited to 'test/files/neg/t7296.scala')
-rw-r--r--test/files/neg/t7296.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/files/neg/t7296.scala b/test/files/neg/t7296.scala
new file mode 100644
index 0000000000..0c078d3657
--- /dev/null
+++ b/test/files/neg/t7296.scala
@@ -0,0 +1,6 @@
+object Test {
+ type A = Int
+ // Emits the implementation restriction but then proceeds to crash
+ // when creating the Foo.unapply.
+ case class Foo(a: A, b: A, c: A, d: A, e: A, f: A, g: A, h: A, i: A, j: A, k: A, l: A, m: A, n: A, o: A, p: A, q: A, r: A, s: A, t: A, u: A, v: A, w: A, x: A, y: A, Z: A)
+}