diff options
author | Roland <rk@rkuhn.info> | 2012-09-12 14:28:39 +0200 |
---|---|---|
committer | Roland <rk@rkuhn.info> | 2012-09-12 14:28:39 +0200 |
commit | 13ff968b9d273e03bfa226ca1ec52949391a6b68 (patch) | |
tree | 51e64bff6fb38fa212b7e187ee4f0a02be1e3e23 /test/files/run/t6318_primitives.scala | |
parent | 300803606ebca352955e945cf468a0c2bfc83b9c (diff) | |
parent | d9a4e94f8716b810e8122c6494b1718410238668 (diff) | |
download | scala-13ff968b9d273e03bfa226ca1ec52949391a6b68.tar.gz scala-13ff968b9d273e03bfa226ca1ec52949391a6b68.tar.bz2 scala-13ff968b9d273e03bfa226ca1ec52949391a6b68.zip |
Merge remote-tracking branch 'origin/2.10.x' into fix-duration-issues-RK
Diffstat (limited to 'test/files/run/t6318_primitives.scala')
-rw-r--r-- | test/files/run/t6318_primitives.scala | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/files/run/t6318_primitives.scala b/test/files/run/t6318_primitives.scala new file mode 100644 index 0000000000..30f27120b3 --- /dev/null +++ b/test/files/run/t6318_primitives.scala @@ -0,0 +1,71 @@ +import scala.reflect.{ClassTag, classTag} + +object Test extends App { + def test[T: ClassTag](x: T) { + println(classTag[T].runtimeClass.isAssignableFrom(x.getClass)) + println(classTag[T].unapply(x)) + } + + { + val x = 1.toByte + println(ClassTag.Byte.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Byte.unapply(x)) + test(x) + } + + { + val x = 1.toShort + println(ClassTag.Short.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Short.unapply(x)) + test(x) + } + + { + val x = 1.toChar + println(ClassTag.Char.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Char.unapply(x)) + test(x) + } + + { + val x = 1.toInt + println(ClassTag.Int.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Int.unapply(x)) + test(x) + } + + { + val x = 1.toLong + println(ClassTag.Long.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Long.unapply(x)) + test(x) + } + + { + val x = 1.toFloat + println(ClassTag.Float.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Float.unapply(x)) + test(x) + } + + { + val x = 1.toDouble + println(ClassTag.Double.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Double.unapply(x)) + test(x) + } + + { + val x = true + println(ClassTag.Boolean.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Boolean.unapply(x)) + test(x) + } + + { + val x = () + println(ClassTag.Unit.runtimeClass.isAssignableFrom(x.getClass)) + println(ClassTag.Unit.unapply(x)) + test(x) + } +}
\ No newline at end of file |