diff options
Diffstat (limited to 'test/files/specialized')
-rw-r--r-- | test/files/specialized/SI-5005.check | 33 | ||||
-rw-r--r-- | test/files/specialized/SI-5005.scala | 27 | ||||
-rw-r--r-- | test/files/specialized/spec-matrix-new.scala | 8 |
3 files changed, 5 insertions, 63 deletions
diff --git a/test/files/specialized/SI-5005.check b/test/files/specialized/SI-5005.check deleted file mode 100644 index 81e8342dad..0000000000 --- a/test/files/specialized/SI-5005.check +++ /dev/null @@ -1,33 +0,0 @@ -[[syntax trees at end of specialize]] // newSource1 -package <empty> { - class C2[@specialized(scala.Boolean) U >: Nothing <: Any] extends Object { - def <init>(): C2[U] = { - C2.super.<init>(); - () - }; - def apply(x: U): U = x; - <specialized> def apply$mcZ$sp(x: Boolean): Boolean = C2.this.apply(x.asInstanceOf[U]()).asInstanceOf[Boolean]() - }; - class B extends Object { - def <init>(): B = { - B.super.<init>(); - () - }; - new C2$mcZ$sp().apply$mcZ$sp(true) - }; - <specialized> class C2$mcZ$sp extends C2[Boolean] { - <specialized> def <init>(): C2$mcZ$sp = { - C2$mcZ$sp.super.<init>(); - () - }; - @inline final override <specialized> def apply(x: Boolean): Boolean = C2$mcZ$sp.this.apply$mcZ$sp(x); - @inline final override <specialized> def apply$mcZ$sp(x: Boolean): Boolean = x - } -} - -[log inliner] Analyzing C2.apply count 0 with 1 blocks -[log inliner] C2.apply blocks before inlining: 1 (2) after: 1 (2) -[log inliner] Analyzing C2.apply$mcZ$sp count 0 with 1 blocks -[log inliner] C2.apply$mcZ$sp blocks before inlining: 1 (8) after: 1 (8) -[log inliner] Not inlining into apply because it is marked @inline. -[log inliner] Not inlining into apply$mcZ$sp because it is marked @inline. diff --git a/test/files/specialized/SI-5005.scala b/test/files/specialized/SI-5005.scala deleted file mode 100644 index 3d1ada49e2..0000000000 --- a/test/files/specialized/SI-5005.scala +++ /dev/null @@ -1,27 +0,0 @@ -import scala.tools.partest._ -import java.io._ - -object Test extends DirectTest { - - override def extraSettings: String = "-usejavacp -Xprint:spec -optimize -Ylog:inliner -d " + testOutput.path - - override def code = """ - class C2[@specialized(Boolean) U]() { - @inline final def apply(x: U): U = x - } - - class B { - (new C2[Boolean]())(true) - } - """ - - override def show(): Unit = { - // redirect err to out, for inliner log - val prevErr = System.err - System.setErr(System.out) - compile() - System.setErr(prevErr) - } - - override def isDebug = false // so we don't get the newSettings warning -} diff --git a/test/files/specialized/spec-matrix-new.scala b/test/files/specialized/spec-matrix-new.scala index 65b46e8d48..e9a6e35219 100644 --- a/test/files/specialized/spec-matrix-new.scala +++ b/test/files/specialized/spec-matrix-new.scala @@ -1,7 +1,9 @@ +import scala.reflect.{ClassTag, classTag} + /** Test matrix multiplication with specialization. */ -class Matrix[@specialized A: ArrayTag](val rows: Int, val cols: Int) { +class Matrix[@specialized A: ClassTag](val rows: Int, val cols: Int) { private val arr: Array[Array[A]] = Array.ofDim[A](rows, cols) def apply(i: Int, j: Int): A = { @@ -52,7 +54,7 @@ object Test { } } - def multTag[@specialized(Int) T](m: Matrix[T], n: Matrix[T])(implicit at: ArrayTag[T], num: Numeric[T]) { + def multTag[@specialized(Int) T](m: Matrix[T], n: Matrix[T])(implicit at: ClassTag[T], num: Numeric[T]) { val p = new Matrix[T](m.rows, n.cols) import num._ @@ -77,4 +79,4 @@ object Test { } p } -} +}
\ No newline at end of file |