diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t4013.scala | 24 | ||||
-rw-r--r-- | test/files/run/t4013b.scala | 20 | ||||
-rw-r--r-- | test/files/run/t4013c.scala | 10 |
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)) + } +} |