summaryrefslogtreecommitdiff
path: root/src/build/pack.xml
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-11 14:02:24 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-14 09:01:50 +0100
commit1587a77eca46b265dc677b9be2536f1f60503f65 (patch)
tree7423adb560cefdd7231140c921d7fb80812f95c6 /src/build/pack.xml
parent8b598436f64ca4e980c8a38f642085b4d23e2327 (diff)
downloadscala-1587a77eca46b265dc677b9be2536f1f60503f65.tar.gz
scala-1587a77eca46b265dc677b9be2536f1f60503f65.tar.bz2
scala-1587a77eca46b265dc677b9be2536f1f60503f65.zip
SI-6648 copyAttrs must preserve TypeTree#wasEmpty
This field tracks whether the type is an inferred on, subject to removal in `resetAttrs`, or an explicit type, which must remain. In ae5ff662, `ResetAttrs` was modified to duplicate trees, rather than mutate trees in place. But the tree copier didn't pass `wasEmpty` on to the new tree, which in turn meant that the subsequent typing run on the tree would not re-infer the types. If the type refers to a local class, e.g. the anonymous function in the enclosed test case, the reference to the old symbol would persist. This commit overrides `copyAttrs` in TypeTree to copy `wasEmpty`. We might consider representing this as a tree attachment, but this would need to be validated for the performance impact.
Diffstat (limited to 'src/build/pack.xml')
0 files changed, 0 insertions, 0 deletions