diff options
author | Martin Odersky <odersky@gmail.com> | 2017-02-01 12:09:39 +1100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-02-01 12:09:39 +1100 |
commit | 163d5166f17b023c63b211e2837f579c88f4f1d2 (patch) | |
tree | aa25472f984636b8cc37850586e534af823ae401 /AUTHORS.md | |
parent | 12d11cb8c2c38f7eb1c50fb577717c75f6895f00 (diff) | |
download | dotty-163d5166f17b023c63b211e2837f579c88f4f1d2.tar.gz dotty-163d5166f17b023c63b211e2837f579c88f4f1d2.tar.bz2 dotty-163d5166f17b023c63b211e2837f579c88f4f1d2.zip |
Make it known that FunctionXXL does not have an initializer.
When compiled from Scala2 that knowledge was lost. Normally that
would be not a problem (e.g. the same thing happens for Function0-22).
But FunctionXXL is special in that it is inherited only after erasure.
Since `augmentScala2Trait` runs before erasure, it is having no effect
on FunctionXXL itself when running on classes that inherit function types of
large arities. Therefore, FunctionXXL is missing an implementation class
at phase Mixin, which means that the supercall logic which rewires
super.<init> to implementation class init cannot work. This leaves us
with a super.<init> to FunctionXXL in `i1915.scala`.
The fix is to always know that `FunctionXXL` has no init method, so
no super.<init> will be generated for it.
Diffstat (limited to 'AUTHORS.md')
0 files changed, 0 insertions, 0 deletions