summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 21:48:47 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 21:48:47 -0800
commit9a00d2bc6fd1b62daa8b52f2b9b92d2aa8487114 (patch)
tree163d36f515f35115aee7b852ec00bd1bddbefbe9 /test/files
parent6ad7de4011f526d6d2b13292039de37547b39c46 (diff)
parent1a84c86ce400d0a80065fa8d23a9506dc19e92f0 (diff)
downloadscala-9a00d2bc6fd1b62daa8b52f2b9b92d2aa8487114.tar.gz
scala-9a00d2bc6fd1b62daa8b52f2b9b92d2aa8487114.tar.bz2
scala-9a00d2bc6fd1b62daa8b52f2b9b92d2aa8487114.zip
Merge 2.10.x into master.
Conflicts: src/compiler/scala/tools/nsc/transform/Erasure.scala
Diffstat (limited to 'test/files')
-rw-r--r--test/files/pos/t7190.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/files/pos/t7190.scala b/test/files/pos/t7190.scala
new file mode 100644
index 0000000000..f7ccded1b4
--- /dev/null
+++ b/test/files/pos/t7190.scala
@@ -0,0 +1,26 @@
+import scala.language.experimental.macros
+import scala.reflect.macros._
+
+trait A[T] {
+ def min[U >: T](implicit ord: Numeric[U]): T = macro A.min[T, U]
+}
+
+object A {
+ def min[T: c.WeakTypeTag, U >: T: c.WeakTypeTag](c: Context)(ord: c.Expr[Numeric[U]]): c.Expr[T] = {
+ c.universe.reify {
+ ord.splice.zero.asInstanceOf[T]
+ }
+ }
+}
+
+class B extends A[Int] {
+ override def min[U >: Int](implicit ord: Numeric[U]): Int = macro B.min[U]
+}
+
+object B {
+ def min[U >: Int: c.WeakTypeTag](c: Context)(ord: c.Expr[Numeric[U]]): c.Expr[Int] = {
+ c.universe.reify {
+ ord.splice.zero.asInstanceOf[Int]
+ }
+ }
+} \ No newline at end of file