summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-06-23 22:38:23 +0200
committerJason Zaugg <jzaugg@gmail.com>2012-06-23 22:38:23 +0200
commitc27e5f0d60c853868b3676f1449e42dd351b0644 (patch)
treecc3cbfdace3e3960fa96fd9e5187525beeea3a53 /src
parente0761b4dcbbc3bcbebc6392faa91bf239d247ca0 (diff)
downloadscala-c27e5f0d60c853868b3676f1449e42dd351b0644.tar.gz
scala-c27e5f0d60c853868b3676f1449e42dd351b0644.tar.bz2
scala-c27e5f0d60c853868b3676f1449e42dd351b0644.zip
SI-5968 Eliminate spurious exhaustiveness warning with singleton types.
A singleton type is a type ripe for enumeration.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala b/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
index 9b8ddffb49..f99d0e733b 100644
--- a/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
@@ -2362,6 +2362,8 @@ trait PatternMatching extends Transform with TypingTransformers with ast.TreeDSL
// patmatDebug("enum bool "+ tp)
Some(List(ConstantType(Constant(true)), ConstantType(Constant(false))))
// TODO case _ if tp.isTupleType => // recurse into component types
+ case modSym: ModuleClassSymbol =>
+ Some(List(tp))
case sym if !sym.isSealed || isPrimitiveValueClass(sym) =>
// patmatDebug("enum unsealed "+ (tp, sym, sym.isSealed, isPrimitiveValueClass(sym)))
None