aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/PatternMatcher.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-05-26 09:19:30 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-05-27 16:38:58 +0200
commit87b779bc96e10adc6a05635393cecc9ecbb2b4ea (patch)
tree1be89c373147945c44810fe30ccf431dea431809 /src/dotty/tools/dotc/transform/PatternMatcher.scala
parentcf2ae5ed82599b988f8c1a625e31fb03b5c1a0fe (diff)
downloaddotty-87b779bc96e10adc6a05635393cecc9ecbb2b4ea.tar.gz
dotty-87b779bc96e10adc6a05635393cecc9ecbb2b4ea.tar.bz2
dotty-87b779bc96e10adc6a05635393cecc9ecbb2b4ea.zip
Change typer to infer repeated param instead of Seq in `_*` cases
Diffstat (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala')
-rw-r--r--src/dotty/tools/dotc/transform/PatternMatcher.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala
index 24d0e9ae0..d77dcaae4 100644
--- a/src/dotty/tools/dotc/transform/PatternMatcher.scala
+++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala
@@ -1094,6 +1094,7 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans
*/
object WildcardPattern {
def unapply(pat: Tree): Boolean = pat match {
+ case Typed(_, arg) if arg.tpe.isRepeatedParam => true
case Bind(nme.WILDCARD, WildcardPattern()) => true // don't skip when binding an interesting symbol!
case t if (tpd.isWildcardArg(t)) => true
case x: Ident => isVarPattern(x)
@@ -1157,8 +1158,8 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans
object TypeBound {
def unapply(tree: Tree): Option[Type] = tree match {
- case Typed(_, _) => Some(tree.typeOpt)
- case _ => None
+ case Typed(_, arg) if !arg.tpe.isRepeatedParam => Some(tree.typeOpt)
+ case _ => None
}
}