summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-07-19 22:47:18 -0700
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-07-19 22:47:18 -0700
commitcf2a36315f380391a4bdf9f3f608715b392ccca6 (patch)
treeafd89291fe6d5cdd80dbabb579cb6c0e12d3d90b /src/compiler
parentfb3a36916fa2f0053bca7d572d48494171f03c6a (diff)
parent4fc9cdb64f577e0561e814377ea0f9747245bbbe (diff)
downloadscala-cf2a36315f380391a4bdf9f3f608715b392ccca6.tar.gz
scala-cf2a36315f380391a4bdf9f3f608715b392ccca6.tar.bz2
scala-cf2a36315f380391a4bdf9f3f608715b392ccca6.zip
Merge pull request #952 from adriaanm/ticket-4897
SI-4897 derive expected value from single type
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala b/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
index 4e4176e531..eef2c5fd3c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala
@@ -1024,7 +1024,7 @@ trait PatternMatching extends Transform with TypingTransformers with ast.TreeDSL
else expectedTp match {
// TODO: [SPEC] the spec requires `eq` instead of `==` for singleton types
// this implies sym.isStable
- case SingleType(_, sym) => and(equalsTest(CODE.REF(sym), testedBinder), typeTest(testedBinder, expectedTp.widen))
+ case SingleType(_, sym) => and(equalsTest(gen.mkAttributedQualifier(expectedTp), testedBinder), typeTest(testedBinder, expectedTp.widen))
// must use == to support e.g. List() == Nil
case ThisType(sym) if sym.isModule => and(equalsTest(CODE.REF(sym), testedBinder), typeTest(testedBinder, expectedTp.widen))
case ConstantType(Constant(null)) if testedBinder.info.widen <:< AnyRefClass.tpe