diff options
author | Martin Odersky <odersky@gmail.com> | 2014-05-06 10:34:40 +0200 |
---|---|---|
committer | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-05-20 13:38:48 +0200 |
commit | 2d3c79f7cf3e79b592c7e479d262e8d3f9b04959 (patch) | |
tree | 34fe9918f20f17f2426a1dc47c6678a863f20f33 /tests/pos/t2094.scala | |
parent | 093774e181e878308551226f6a0b990bf7de8077 (diff) | |
download | dotty-2d3c79f7cf3e79b592c7e479d262e8d3f9b04959.tar.gz dotty-2d3c79f7cf3e79b592c7e479d262e8d3f9b04959.tar.bz2 dotty-2d3c79f7cf3e79b592c7e479d262e8d3f9b04959.zip |
Tests pos 20xx 21xx
Diffstat (limited to 'tests/pos/t2094.scala')
-rw-r--r-- | tests/pos/t2094.scala | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/pos/t2094.scala b/tests/pos/t2094.scala new file mode 100644 index 000000000..6b6c4f077 --- /dev/null +++ b/tests/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) +} |