summaryrefslogtreecommitdiff
path: root/test/files/res/t8871.check
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-10-08 23:50:59 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-10-09 00:28:12 +1000
commit24a0777219d647ec310a0b6da305f619f69950cd (patch)
tree1a1e02b629a6f15dceeaf8186ea837831270d032 /test/files/res/t8871.check
parent8d25e84c9123fe9784ec9844b5184aa1b697b429 (diff)
downloadscala-24a0777219d647ec310a0b6da305f619f69950cd.tar.gz
scala-24a0777219d647ec310a0b6da305f619f69950cd.tar.bz2
scala-24a0777219d647ec310a0b6da305f619f69950cd.zip
SI-8871 Fix specialization under REPL / FSC
The transformation of applications to specialized methods relies on the owner of said method having had the specialization info transform run which stashes a bunch of related data into per-run caches such as `SpecializeTypes#{typeEnv}`. Recently, we found that per-run caches didn't quite live up to there name, and in fact weren't being cleaned up before a new run. This was remedied in 00e11ff. However, no good deed goes unpunished, and this led to a regression in specialization in the REPL and FSC. This commit makes two changes: - change the specialization info tranformer to no longer directly enter specialized methods into the `info` of whatever the current phase happens to be. This stops them showing up `enteringTyper` of the following run. - change `adaptInfos` to simply discard all but the oldest entry in the type history when bringing a symbol from one run into the next. This generalizes the approach taken to fix SI-7801. The specialization info transformer will now execute in each run, and repopulate `typeEnv` and friends. I see that we have a seemingly related bandaid for this sort of problem since 08505bd4ec. In a followup, I'll try to revert that.
Diffstat (limited to 'test/files/res/t8871.check')
-rw-r--r--test/files/res/t8871.check5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/files/res/t8871.check b/test/files/res/t8871.check
new file mode 100644
index 0000000000..bbd9331b16
--- /dev/null
+++ b/test/files/res/t8871.check
@@ -0,0 +1,5 @@
+
+nsc>
+nsc>
+nsc>
+nsc>