From b8c12031219e898d7e1b0750c37f6856b157da0e Mon Sep 17 00:00:00 2001 From: Aleksandar Pokopec Date: Mon, 7 Mar 2011 14:24:02 +0000 Subject: Fixes and closes #4013. No review. --- test/files/run/t4013.scala | 24 ++++++++++++++++++++++++ test/files/run/t4013b.scala | 20 ++++++++++++++++++++ test/files/run/t4013c.scala | 10 ++++++++++ 3 files changed, 54 insertions(+) create mode 100644 test/files/run/t4013.scala create mode 100644 test/files/run/t4013b.scala create mode 100644 test/files/run/t4013c.scala (limited to 'test/files') 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)) + } +} -- cgit v1.2.3