From d34d0d5108542f6eb9ec46acb5daadd5ad4fb7ef Mon Sep 17 00:00:00 2001 From: Aleksandar Pokopec Date: Wed, 9 Feb 2011 15:46:50 +0000 Subject: Added a test case for anyref specialization. --- test/files/pos/spec.scala | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 test/files/pos/spec.scala (limited to 'test/files/pos/spec.scala') diff --git a/test/files/pos/spec.scala b/test/files/pos/spec.scala new file mode 100644 index 0000000000..e8df1bb14a --- /dev/null +++ b/test/files/pos/spec.scala @@ -0,0 +1,64 @@ + + + + +// class Bar[@specialized(Int, AnyRef) A](a: A) { +// val memb = a +// } + + +// class WithInner[@specialized(Int, AnyRef) A](a: A) { +// class Inner { +// def meth = a +// } +// } + + +// class Baz[@specialized(Int, AnyRef) A, @specialized(Int, AnyRef) B] { +// def ab(a: A, b: B) = (a, b) +// } + + +// trait Base[@specialized(Int, AnyRef) A] +// class Concrete[@specialized(Int, AnyRef) A] extends Base[A] + + +// class WithAnon[@specialized(Int, AnyRef) A](a: A) { +// new AnyRef { +// def foo = a +// } +// } + + +// class Norm { +// def id[@specialized(Int, AnyRef) A](a: A) = a +// } + + +// class Qux[@specialized(AnyRef) A] { +// def memb[@specialized(AnyRef) B](a: A, b: B) = (a, b) +// } + + +// class Foo[@specialized(Int, AnyRef) A](val a: Array[A]) { +// a(0) + +// def id(elem: A) = a(0) = elem +// } + + +// instantiation and selection +object Test { + def main(arg: Array[String]) { + // val f = new Foo(new Array[String](5)) + // f.id("") + + // val z = new Baz[Int, Double] + // z.ab(1, 1.0) + + testspec(new Array[String](5)) + testspec(new Array[Int](5)) + } + + def testspec[@specialized(Int, AnyRef) T](arr: Array[T]) = arr(0) +} -- cgit v1.2.3