summaryrefslogtreecommitdiff
path: root/src/continuations
diff options
context:
space:
mode:
authorTiark Rompf <tiark.rompf@epfl.ch>2010-03-22 16:52:10 +0000
committerTiark Rompf <tiark.rompf@epfl.ch>2010-03-22 16:52:10 +0000
commita263215e095d8168ed78b16c829a56ff48b2f9b6 (patch)
tree3ae5da4071776d431c75bdf2eef64c4911ea24e8 /src/continuations
parent1935b66102808cc72262cffca3546f4bb5b7baac (diff)
downloadscala-a263215e095d8168ed78b16c829a56ff48b2f9b6.tar.gz
scala-a263215e095d8168ed78b16c829a56ff48b2f9b6.tar.bz2
scala-a263215e095d8168ed78b16c829a56ff48b2f9b6.zip
closes #3199. review by community.
Diffstat (limited to 'src/continuations')
-rw-r--r--src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala b/src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala
index a09772d236..5bad9e960c 100644
--- a/src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala
+++ b/src/continuations/plugin/scala/tools/selectivecps/SelectiveANFTransform.scala
@@ -234,8 +234,11 @@ abstract class SelectiveANFTransform extends PluginComponent with Transform with
case Typed(expr0, tpt) =>
// TODO: should x: A @cps[B,C] have a special meaning?
+ // type casts used in different ways (see match2.scala, #3199)
val (stms, expr, spc) = transInlineValue(expr0, cpsA)
- val tpt1 = treeCopy.TypeTree(tpt).setType(removeAllCPSAnnotations(tpt.tpe))
+ val tpt1 = if (treeInfo.isWildcardStarArg(tree)) tpt else
+ treeCopy.TypeTree(tpt).setType(removeAllCPSAnnotations(tpt.tpe))
+// (stms, updateSynthFlag(treeCopy.Typed(tree, expr, tpt1)), spc)
(stms, treeCopy.Typed(tree, expr, tpt1).setType(removeAllCPSAnnotations(tree.tpe)), spc)
case TypeApply(fun, args) =>