summaryrefslogtreecommitdiff
path: root/test/files/pos/t2094.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-08-24 17:11:55 +0000
committerPaul Phillips <paulp@improving.org>2011-08-24 17:11:55 +0000
commitb9785280a7138a2bb52060faf94807aa0d07dec1 (patch)
tree870cc1930ac3d50cd07078260f58984224dd39a5 /test/files/pos/t2094.scala
parent84fcf633d9ca507124806d64729cb8463bcebb69 (diff)
downloadscala-b9785280a7138a2bb52060faf94807aa0d07dec1.tar.gz
scala-b9785280a7138a2bb52060faf94807aa0d07dec1.tar.bz2
scala-b9785280a7138a2bb52060faf94807aa0d07dec1.zip
Renamed tests named bugXXX to tXXX, no review.
Diffstat (limited to 'test/files/pos/t2094.scala')
-rw-r--r--test/files/pos/t2094.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/files/pos/t2094.scala b/test/files/pos/t2094.scala
new file mode 100644
index 0000000000..ff142117b2
--- /dev/null
+++ b/test/files/pos/t2094.scala
@@ -0,0 +1,31 @@
+object Test extends App {
+ // compiles:
+ Map[Int, Value](
+ 0 -> KnownType(classOf[Object]),
+ 1 -> UnknownValue())
+
+ // does not compile:
+ Map(
+ 0 -> KnownType(classOf[Object]),
+ 1 -> UnknownValue())
+
+ // Experiment.scala:10: error: type mismatch;
+ // found : (Int, KnownType)
+ // required: (Int, Product with Value{def getType: Option[java.lang.Class[_$$2]]}) where type _$$2
+ // 0 -> KnownType(classOf[Object]),
+ // ^
+ // one error found
+}
+sealed trait Value {
+ def getType: Option[Class[_]]
+}
+
+case class UnknownValue() extends Value {
+ def getType = None
+ // compiles if changed to:
+ // def getType: Option[Class[_]] = None
+}
+
+case class KnownType(typ: Class[_]) extends Value {
+ def getType = Some(typ)
+} \ No newline at end of file