summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
Diffstat (limited to 'test/files')
-rw-r--r--test/files/run/t4013.scala24
-rw-r--r--test/files/run/t4013b.scala20
-rw-r--r--test/files/run/t4013c.scala10
3 files changed, 54 insertions, 0 deletions
diff --git a/test/files/run/t4013.scala b/test/files/run/t4013.scala
new file mode 100644
index 0000000000..7060559317
--- /dev/null
+++ b/test/files/run/t4013.scala
@@ -0,0 +1,24 @@
+
+
+trait Base[B] {
+ def data: AnyRef;
+}
+
+
+class Suba[@specialized B](override val data: Array[B]) extends Base[B] {
+ assert(data != null)
+}
+
+
+class Subopt[@specialized B](override val data: Option[B]) extends Base[B] {
+ assert(data != null)
+}
+
+
+object Test {
+ def main(args: Array[String]) {
+ val ss = new Suba[String](Array(""))
+ val si = new Suba[Int](Array(0))
+ new Subopt[Int](Some(0))
+ }
+}
diff --git a/test/files/run/t4013b.scala b/test/files/run/t4013b.scala
new file mode 100644
index 0000000000..1262e261f5
--- /dev/null
+++ b/test/files/run/t4013b.scala
@@ -0,0 +1,20 @@
+
+
+trait Base[B] {
+ def data: AnyRef;
+}
+
+
+class M[@specialized(Int) A]
+
+
+class Sub3[@specialized(Int) B](override val data: M[B]) extends Base[B] {
+ assert(data != null)
+}
+
+
+object Test {
+ def main(args: Array[String]) {
+ new Sub3[Int](new M[Int])
+ }
+}
diff --git a/test/files/run/t4013c.scala b/test/files/run/t4013c.scala
new file mode 100644
index 0000000000..5737fff369
--- /dev/null
+++ b/test/files/run/t4013c.scala
@@ -0,0 +1,10 @@
+class Suba[@specialized(Int) B](val data: Array[B]) {
+ assert(data != null)
+}
+
+
+object Test {
+ def main(args: Array[String]) {
+ new Suba[Int](Array(0))
+ }
+}