summaryrefslogtreecommitdiff
path: root/test/files/run/t3575.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/t3575.scala')
-rw-r--r--test/files/run/t3575.scala55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/files/run/t3575.scala b/test/files/run/t3575.scala
new file mode 100644
index 0000000000..9ccd90a8c4
--- /dev/null
+++ b/test/files/run/t3575.scala
@@ -0,0 +1,55 @@
+// This is here to tell me if the behavior changes, not because
+// the output is endorsed.
+case class Two[
+ @specialized A,
+ @specialized B
+](v: A, w: B)
+
+case class TwoLong[
+ @specialized(Char, Boolean, Byte, Short, Int, Long, Float, Double, Unit, AnyRef) A,
+ @specialized(Char, Boolean, Byte, Short, Int, Long, Float, Double, Unit, AnyRef) B
+](v: A, w: B)
+
+case class TwoCool[
+ @specialized(Specializable.Everything) A,
+ @specialized(Specializable.Everything) B
+](v: A, w: B)
+
+case class TwoShort[
+ @specialized() A,
+ @specialized() B
+](v: A, w: B)
+
+case class TwoMinimal[
+ @specialized(Int, AnyRef) A,
+ @specialized(Int, AnyRef) B
+](v: A, w: B)
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ println(Two("Hello", "World").getClass().getName());
+ println(Two(12, "Hello").getClass().getName());
+ println(Two("Hello", 12).getClass().getName());
+ println(Two(12, 12).getClass().getName());
+
+ println(TwoLong("Hello", "World").getClass().getName());
+ println(TwoLong(12, "Hello").getClass().getName());
+ println(TwoLong("Hello", 12).getClass().getName());
+ println(TwoLong(12, 12).getClass().getName());
+
+ println(TwoCool("Hello", "World").getClass().getName());
+ println(TwoCool(12, "Hello").getClass().getName());
+ println(TwoCool("Hello", 12).getClass().getName());
+ println(TwoCool(12, 12).getClass().getName());
+
+ println(TwoShort("Hello", "World").getClass().getName());
+ println(TwoShort(12, "Hello").getClass().getName());
+ println(TwoShort("Hello", 12).getClass().getName());
+ println(TwoShort(12, 12).getClass().getName());
+
+ println(TwoMinimal("Hello", "World").getClass().getName());
+ println(TwoMinimal(12, "Hello").getClass().getName());
+ println(TwoMinimal("Hello", 12).getClass().getName());
+ println(TwoMinimal(12, 12).getClass().getName());
+ }
+}