summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-05-23 02:42:06 -0700
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-05-23 02:42:06 -0700
commitcebf241ad87358b0e8d2804750a4ac36e76f7091 (patch)
tree29e04607f5bf666bed4f8d78d1b757f0763fdd1e /test/files/run
parent2e7daa10097246c03df1f77aebc85f1ecdebb7e9 (diff)
parent3f7b8b58748eb70aec4269f1ef63853b5ad4af60 (diff)
downloadscala-cebf241ad87358b0e8d2804750a4ac36e76f7091.tar.gz
scala-cebf241ad87358b0e8d2804750a4ac36e76f7091.tar.bz2
scala-cebf241ad87358b0e8d2804750a4ac36e76f7091.zip
Merge pull request #601 from adriaanm/3f7b8b58748eb70aec4269f1ef63853b5ad4af60
virtpatmat: treemaker approximation refactorings and exhaustivity
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t3097.check1
-rw-r--r--test/files/run/t3097.scala18
2 files changed, 19 insertions, 0 deletions
diff --git a/test/files/run/t3097.check b/test/files/run/t3097.check
new file mode 100644
index 0000000000..63695f771b
--- /dev/null
+++ b/test/files/run/t3097.check
@@ -0,0 +1 @@
+atomic
diff --git a/test/files/run/t3097.scala b/test/files/run/t3097.scala
new file mode 100644
index 0000000000..4aaf8056ca
--- /dev/null
+++ b/test/files/run/t3097.scala
@@ -0,0 +1,18 @@
+sealed trait ISimpleValue
+
+sealed trait IListValue extends ISimpleValue
+sealed trait IAtomicValue[O] extends ISimpleValue
+
+sealed trait IAbstractDoubleValue[O] extends IAtomicValue[O]
+sealed trait IDoubleValue extends IAbstractDoubleValue[Double]
+
+case class ListValue(val items: List[IAtomicValue[_]]) extends IListValue
+class DoubleValue(val data: Double) extends IDoubleValue
+
+object Test extends App {
+ // match is exhaustive
+ (new DoubleValue(1): ISimpleValue) match {
+ case m: IListValue => println("list")
+ case a: IAtomicValue[_] => println("atomic")
+ }
+}