summaryrefslogtreecommitdiff
path: root/test/files/pos/t6771.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-04-24 08:57:26 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-04-24 12:06:30 +0200
commit30099160320b649b1e8e5f69c8ad1b02478fbfe2 (patch)
tree9ab2e396c7a59379208e89fcc7324a5c4f21b65b /test/files/pos/t6771.scala
parent4dcb33e6f527f5e2bf978c9e1ca778c40bf29d54 (diff)
downloadscala-30099160320b649b1e8e5f69c8ad1b02478fbfe2.tar.gz
scala-30099160320b649b1e8e5f69c8ad1b02478fbfe2.tar.bz2
scala-30099160320b649b1e8e5f69c8ad1b02478fbfe2.zip
SI-6771 Alias awareness for checkableType in match analysis.
Failure to dealias the type of the scrutinee led the pattern matcher to incorrectly reason about the type test in: type Id[X] = X; (null: Id[Option[Int]]) match { case Some(_) => } Before, `checkableType` returned `Id[?]`, now it returns `Some[?]`.
Diffstat (limited to 'test/files/pos/t6771.scala')
-rw-r--r--test/files/pos/t6771.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/files/pos/t6771.scala b/test/files/pos/t6771.scala
new file mode 100644
index 0000000000..0f0bd4e4a0
--- /dev/null
+++ b/test/files/pos/t6771.scala
@@ -0,0 +1,9 @@
+object Test {
+ type Id[X] = X
+ val a: Id[Option[Int]] = None
+
+ a match {
+ case Some(x) => println(x)
+ case None =>
+ }
+}