diff --git a/tests/neg/i2642.scala b/tests/neg-custom-args/erased/i2642.scala similarity index 100% rename from tests/neg/i2642.scala rename to tests/neg-custom-args/erased/i2642.scala diff --git a/tests/neg-custom-args/erased/i4058.scala b/tests/neg-custom-args/erased/i4058.scala new file mode 100644 index 000000000000..e0a41b434ca7 --- /dev/null +++ b/tests/neg-custom-args/erased/i4058.scala @@ -0,0 +1 @@ +sealed erased class E // error diff --git a/tests/neg-custom-args/erased/i5525.scala b/tests/neg-custom-args/erased/i5525.scala new file mode 100644 index 000000000000..108de00bf1a2 --- /dev/null +++ b/tests/neg-custom-args/erased/i5525.scala @@ -0,0 +1,10 @@ + +erased enum Foo6 {} // error: only access modifiers allowed + +enum Foo10 { + erased case C6() // error: only access modifiers allowed +} + +enum Foo11 { + erased case C6 // error: only access modifiers allowed +} diff --git a/tests/neg/i6795.check b/tests/neg-custom-args/erased/i6795.check similarity index 71% rename from tests/neg/i6795.check rename to tests/neg-custom-args/erased/i6795.check index bd16593edbc6..662012864244 100644 --- a/tests/neg/i6795.check +++ b/tests/neg-custom-args/erased/i6795.check @@ -1,4 +1,4 @@ --- Error: tests/neg/i6795.scala:1:13 ----------------------------------------------------------------------------------- +-- Error: tests/neg-custom-args/erased/i6795.scala:1:13 ---------------------------------------------------------------- 1 |erased class Foo // error |^^^^^^^^^^^^^^^^ |modifier(s) `erased` incompatible with type definition diff --git a/tests/neg/i6795.scala b/tests/neg-custom-args/erased/i6795.scala similarity index 100% rename from tests/neg/i6795.scala rename to tests/neg-custom-args/erased/i6795.scala diff --git a/tests/neg-custom-args/erased/tupled-function-instances.scala b/tests/neg-custom-args/erased/tupled-function-instances.scala new file mode 100644 index 000000000000..550e217c6ad5 --- /dev/null +++ b/tests/neg-custom-args/erased/tupled-function-instances.scala @@ -0,0 +1,58 @@ +object Test { + def main(args: Array[String]): Unit = { + type T + type R + + summon[TupledFunction[(erased T) => R, erased Tuple1[T] => R]] // error + summon[TupledFunction[erased (T, T) => R,(erased (T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T) => R,(erased (T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T) => R,(erased (T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T) => R,(erased (T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error + + summon[TupledFunction[(given erased T) => R, (given erased Tuple1[T]) => R]] // error + summon[TupledFunction[(given erased T, T) => R, (given erased T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T) => R, (given erased T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T) => R, (given erased T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T) => R, (given erased T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error + } +} \ No newline at end of file diff --git a/tests/neg/i4058.scala b/tests/neg/i4058.scala index b2026ef1ca82..5bd0e15f5787 100644 --- a/tests/neg/i4058.scala +++ b/tests/neg/i4058.scala @@ -9,4 +9,3 @@ class D { def g(override a: Int) = 0 // error def g(abstract a: Int) = 0 // error } -sealed erased class E // error diff --git a/tests/neg/i5525.scala b/tests/neg/i5525.scala index 078078645d0c..2802668ae636 100644 --- a/tests/neg/i5525.scala +++ b/tests/neg/i5525.scala @@ -3,7 +3,6 @@ final enum Foo2 {} // error: only access modifiers allowed sealed enum Foo3 {} // error: only access modifiers allowed implicit enum Foo4 {} // error: only access modifiers allowed lazy enum Foo5 {} // error: only access modifiers allowed -erased enum Foo6 {} // error: only access modifiers allowed override enum Foo7 {} // error: only access modifiers allowed inline enum Foo8 {} // error: only access modifiers allowed opaque enum Foo9 {} // error: only access modifiers allowed @@ -14,7 +13,6 @@ enum Foo10 { sealed case C3() // error: only access modifiers allowed implicit case C4() // error: only access modifiers allowed lazy case C5() // error: only access modifiers allowed - erased case C6() // error: only access modifiers allowed override case C7() // error: only access modifiers allowed private case C8() // ok protected case C9() // ok @@ -26,7 +24,6 @@ enum Foo11 { sealed case C3 // error: only access modifiers allowed implicit case C4 // error: only access modifiers allowed lazy case C5 // error: only access modifiers allowed - erased case C6 // error: only access modifiers allowed override case C7 // error: only access modifiers allowed private case C8 // ok protected case C9 // ok diff --git a/tests/neg/tupled-function-instances.scala b/tests/neg/tupled-function-instances.scala index 0d401f417eb2..963f24dcacec 100644 --- a/tests/neg/tupled-function-instances.scala +++ b/tests/neg/tupled-function-instances.scala @@ -19,56 +19,5 @@ object Test { summon[TupledFunction[(T, T, T) => R, (given (T, T, T)) =>R]] // error summon[TupledFunction[(given T, T, T) => R, ((T, T, T)) =>R]] // error - summon[TupledFunction[(erased T) => R, erased Tuple1[T] => R]] // error - summon[TupledFunction[erased (T, T) => R,(erased (T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T) => R,(erased (T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T) => R,(erased (T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T) => R,(erased (T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - summon[TupledFunction[erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R,(erased (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)) => R]] // error - - summon[TupledFunction[(given erased T) => R, (given erased Tuple1[T]) => R]] // error - summon[TupledFunction[(given erased T, T) => R, (given erased T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T) => R, (given erased T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T) => R, (given erased T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T) => R, (given erased T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error - summon[TupledFunction[(given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R, (given erased T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) => R]] // error } } \ No newline at end of file diff --git a/tests/run-macros/reflect-isFunctionType/macro_1.scala b/tests/run-custom-args/run-macros-erased/reflect-isFunctionType/macro_1.scala similarity index 100% rename from tests/run-macros/reflect-isFunctionType/macro_1.scala rename to tests/run-custom-args/run-macros-erased/reflect-isFunctionType/macro_1.scala diff --git a/tests/run-macros/reflect-isFunctionType/test_2.scala b/tests/run-custom-args/run-macros-erased/reflect-isFunctionType/test_2.scala similarity index 100% rename from tests/run-macros/reflect-isFunctionType/test_2.scala rename to tests/run-custom-args/run-macros-erased/reflect-isFunctionType/test_2.scala