summaryrefslogtreecommitdiff
path: root/test/files/specialized/spec-ame.check
diff options
context:
space:
mode:
authorVlad Ureche <vlad.ureche@gmail.com>2013-06-12 14:58:09 +0200
committerVlad Ureche <vlad.ureche@gmail.com>2013-06-12 19:34:33 +0200
commitc43b504ac1d843a580683a78eca0cb55bb427c15 (patch)
tree1f39bc2d0a760c6bee8fd92d6b95e6f2b97e51c8 /test/files/specialized/spec-ame.check
parentc0ba5eb196cc3c7174c9278dd4d050513e55b4ce (diff)
downloadscala-c43b504ac1d843a580683a78eca0cb55bb427c15.tar.gz
scala-c43b504ac1d843a580683a78eca0cb55bb427c15.tar.bz2
scala-c43b504ac1d843a580683a78eca0cb55bb427c15.zip
SI-7343 Fixed phase ordering in specialization
Specialization rewires class parents during info transformation, and the new info then guides the tree changes. But if a symbol is created during duplication, which runs after specialization, its info is not visited and thus the corresponding tree is not specialized. One manifestation is the following: ``` object Test { class Parent[@specialized(Int) T] def spec_method[@specialized(Int) T](t: T, expectedXSuper: String) = { class X extends Parent[T]() // even in the specialized variant, the local X class // doesn't extend Parent$mcI$sp, since its symbol has // been created after specialization and was not seen // by specialzation's info transformer. ... } } ``` We can fix this by forcing duplication to take place before specialization. Review by @dragos, @paulp or @axel22.
Diffstat (limited to 'test/files/specialized/spec-ame.check')
-rw-r--r--test/files/specialized/spec-ame.check2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/files/specialized/spec-ame.check b/test/files/specialized/spec-ame.check
index 9c1713cc8a..cf18c01191 100644
--- a/test/files/specialized/spec-ame.check
+++ b/test/files/specialized/spec-ame.check
@@ -1,3 +1,3 @@
abc
10
-3 \ No newline at end of file
+2