summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 12:47:58 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 12:47:58 -0800
commit889020dfab9f99a3198528fedb699c061027acab (patch)
tree6050d861c0e6913e9cf5033015efbab89e7e660c /src/reflect
parent93c2a5bc8a363c09ba6024a5ab6fda99012e0b0b (diff)
parentacd74cae0935d79cedbeb2bec719174b7cf54e5e (diff)
downloadscala-889020dfab9f99a3198528fedb699c061027acab.tar.gz
scala-889020dfab9f99a3198528fedb699c061027acab.tar.bz2
scala-889020dfab9f99a3198528fedb699c061027acab.zip
Merge pull request #2199 from retronym/ticket/7214
SI-7214 outer check based on dealiased pattern type.
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index f5f577677c..ea193465ad 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -5365,7 +5365,9 @@ trait Types extends api.Types { self: SymbolTable =>
case _ =>
NoType
}
- patType match {
+ // See the test for SI-7214 for motivation for dealias. Later `treeCondStrategy#outerTest`
+ // generates an outer test based on `patType.prefix` with automatically dealises.
+ patType.dealias match {
case TypeRef(pre, sym, args) =>
val pre1 = maybeCreateDummyClone(pre, sym)
(pre1 ne NoType) && isPopulated(copyTypeRef(patType, pre1, sym, args), selType)