From 02e043c776114af40ce329a1b8741f9ae6bc5c8c Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Mon, 7 Mar 2011 11:56:47 +0000 Subject: More signature fixes and tests and generally be... More signature fixes and tests and generally being more sophisticated about our primitive squashing. These signatures belong in world-class museums but we are their shepherds for now. Closes #4317, no review. --- test/files/run/bug4317.check | 3 +++ test/files/run/bug4317.flags | 1 + test/files/run/bug4317/J_2.java | 5 +++++ test/files/run/bug4317/S_1.scala | 9 +++++++++ test/files/run/bug4317/S_3.scala | 8 ++++++++ 5 files changed, 26 insertions(+) create mode 100644 test/files/run/bug4317.check create mode 100644 test/files/run/bug4317.flags create mode 100644 test/files/run/bug4317/J_2.java create mode 100644 test/files/run/bug4317/S_1.scala create mode 100644 test/files/run/bug4317/S_3.scala (limited to 'test/files/run') diff --git a/test/files/run/bug4317.check b/test/files/run/bug4317.check new file mode 100644 index 0000000000..c6d0e511a5 --- /dev/null +++ b/test/files/run/bug4317.check @@ -0,0 +1,3 @@ +0 +99 +33 diff --git a/test/files/run/bug4317.flags b/test/files/run/bug4317.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/run/bug4317.flags @@ -0,0 +1 @@ +-Xfatal-warnings \ No newline at end of file diff --git a/test/files/run/bug4317/J_2.java b/test/files/run/bug4317/J_2.java new file mode 100644 index 0000000000..4e81b390eb --- /dev/null +++ b/test/files/run/bug4317/J_2.java @@ -0,0 +1,5 @@ +public class J_2 { + int bar1() { return S_1.foo1(String.class) ; } + int bar2() { return S_1.foo2(String.class, 0); } + int bar3() { return S_1.foo3(11, 22); } +} \ No newline at end of file diff --git a/test/files/run/bug4317/S_1.scala b/test/files/run/bug4317/S_1.scala new file mode 100644 index 0000000000..2de408268c --- /dev/null +++ b/test/files/run/bug4317/S_1.scala @@ -0,0 +1,9 @@ +object S_1 { + def foo1(x: Class[_ <: AnyRef]) = 0 + def foo2(x: Class[_ <: AnyRef], y: Int) = 99 + def foo3[T](x: Int, y: Int) = x + y + def foo4a(x: Unit): Unit = () + def foo4[T](x: Unit): Unit = () + def foo5[T <: Unit](x: T): T = sys.error("") + def foo6[T](x: Class[_], y: Class[T], z: Class[_ <: T]) = ((x, y, z)) +} diff --git a/test/files/run/bug4317/S_3.scala b/test/files/run/bug4317/S_3.scala new file mode 100644 index 0000000000..ce8e2330e3 --- /dev/null +++ b/test/files/run/bug4317/S_3.scala @@ -0,0 +1,8 @@ +object Test { + def main(args: Array[String]): Unit = { + val j = new J_2() + println(j.bar1()) + println(j.bar2()) + println(j.bar3()) + } +} -- cgit v1.2.3