diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-09-17 14:47:17 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-09-17 14:47:17 +0200 |
commit | 564ea863e6da9a0a5b778a4aefe6108f4745cab5 (patch) | |
tree | 9335abc1626c94dd17c7068c0bb12138c2887b35 /test/files/specialized/spec-patmatch.scala | |
parent | 5cf6a750eac94d159fe4c67b75e24dde13495e71 (diff) | |
download | scala-564ea863e6da9a0a5b778a4aefe6108f4745cab5.tar.gz scala-564ea863e6da9a0a5b778a4aefe6108f4745cab5.tar.bz2 scala-564ea863e6da9a0a5b778a4aefe6108f4745cab5.zip |
SI-6374 Scala reflection now supports Java CRTP
Translation of Java types to Scala types has previously been
existentionalizing raw types of ParameterizedType arguments.
As shown in https://issues.scala-lang.org/browse/SI-6374
this leads to cyclic reference errors. If you wonder about the
mechanism of the error, take a look at the comments to the
aforementioned issue - there's a detailed explanation.
However calling rawToExistential is completely unnecessary, because
existential parameters of the results are immediately discarded,
and only prefix and symbol are used later on (which means that
existential extrapolation performed by rawToExistential also doesn't
after the result).
Finding out this was tough, but the rest was a piece of cake.
Getting rid of the call to rawToExistential when translating ParameterizedType
fixed the problem.
Diffstat (limited to 'test/files/specialized/spec-patmatch.scala')
0 files changed, 0 insertions, 0 deletions