From 0d0453f8f998cef289ee4f65e5c66373e271ba4f Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Mon, 6 Jan 2020 21:22:41 +0100 Subject: [PATCH] Put `erased` under `-Yerased-terms` flag `erased` will not be included in Scala 3.0 but could be added in future version. This feature will only be available with `-Yerased-terms`. --- compiler/src/dotty/tools/dotc/config/ScalaSettings.scala | 1 + compiler/src/dotty/tools/dotc/core/Definitions.scala | 1 + compiler/src/dotty/tools/dotc/typer/Checking.scala | 3 ++- .../dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala | 1 + compiler/test/dotty/tools/dotc/CompilationTests.scala | 3 +++ compiler/test/dotty/tools/repl/ReplTest.scala | 4 +++- tests/{neg => neg-custom-args/erased}/erased-1.scala | 0 tests/{neg => neg-custom-args/erased}/erased-2.scala | 0 tests/{neg => neg-custom-args/erased}/erased-24.scala | 0 tests/{neg => neg-custom-args/erased}/erased-3.scala | 0 tests/{neg => neg-custom-args/erased}/erased-4.scala | 0 tests/{neg => neg-custom-args/erased}/erased-5.scala | 0 tests/{neg => neg-custom-args/erased}/erased-6.scala | 0 .../{neg => neg-custom-args/erased}/erased-args-lifted.scala | 0 tests/{neg => neg-custom-args/erased}/erased-assign.scala | 0 tests/{neg => neg-custom-args/erased}/erased-case-class.scala | 0 tests/{neg => neg-custom-args/erased}/erased-class.scala | 0 tests/{neg => neg-custom-args/erased}/erased-def-rhs.scala | 0 tests/{neg => neg-custom-args/erased}/erased-if-else.scala | 0 tests/{neg => neg-custom-args/erased}/erased-implicit.scala | 0 tests/{neg => neg-custom-args/erased}/erased-lazy-val.scala | 0 .../erased}/erased-machine-state-encoding-with-inline.scala | 0 tests/{neg => neg-custom-args/erased}/erased-match.scala | 0 tests/{neg => neg-custom-args/erased}/erased-object.scala | 0 tests/{neg => neg-custom-args/erased}/erased-path.scala | 0 tests/{neg => neg-custom-args/erased}/erased-pathdep-1.scala | 0 tests/{neg => neg-custom-args/erased}/erased-pathdep-2.scala | 0 tests/{neg => neg-custom-args/erased}/erased-return.scala | 0 tests/{neg => neg-custom-args/erased}/erased-singleton.scala | 0 tests/{neg => neg-custom-args/erased}/erased-trait.scala | 0 tests/{neg => neg-custom-args/erased}/erased-try.scala | 0 tests/{neg => neg-custom-args/erased}/erased-type.scala | 0 tests/{neg => neg-custom-args/erased}/erased-val-rhs.scala | 0 .../{neg => neg-custom-args/erased}/erased-value-class.scala | 0 tests/{neg => neg-custom-args/erased}/erased-var.scala | 0 tests/{neg => neg-custom-args}/i4060.scala | 0 tests/{neg => neg-custom-args}/inline-position/A_1.scala | 0 tests/{neg => neg-custom-args}/inline-position/B_2.scala | 0 tests/{neg => neg-custom-args}/nested-rewrites.scala | 0 tests/{neg => neg-custom-args}/typeclass-derivation2.scala | 0 tests/{neg => neg-custom-args}/typelevel-noeta.scala | 0 .../{pos => pos-custom-args/erased}/erased-args-lifted.scala | 0 .../{pos => pos-custom-args/erased}/erased-asInstanceOf.scala | 0 .../{pos => pos-custom-args/erased}/erased-deep-context.scala | 0 .../erased}/erased-extension-method.scala | 0 tests/{pos => pos-custom-args/erased}/erased-lub-2.scala | 0 tests/{pos => pos-custom-args/erased}/erased-lub.scala | 0 tests/{pos => pos-custom-args/erased}/erased-typedef.scala | 0 tests/{pos => pos-custom-args/erased}/i7868.scala | 0 tests/{pos => pos-custom-args/erased}/i7878.scala | 0 tests/{pos => pos-custom-args}/i4125.scala | 0 tests/{pos => pos-custom-args}/i4509.scala | 0 tests/{pos => pos-custom-args}/i5938.scala | 0 tests/{pos => pos-custom-args}/i6009a.scala | 0 tests/{pos => pos-custom-args}/i6009b.scala | 0 tests/{pos => pos-custom-args}/i6009c.scala | 0 tests/{pos => pos-custom-args}/i6419.scala | 0 tests/{pos => pos-custom-args}/i7741.scala | 0 tests/{pos => pos-custom-args}/inline-match-gadt.scala | 0 tests/{pos => pos-custom-args}/matchtype.scala | 0 tests/{pos => pos-custom-args}/phantom-Eq.scala | 0 tests/{pos => pos-custom-args}/phantom-Eq2/Phantom-Eq_1.scala | 0 tests/{pos => pos-custom-args}/phantom-Eq2/Phantom-Eq_2.scala | 0 tests/{pos => pos-custom-args}/phantom-Evidence.scala | 0 tests/{run => run-custom-args}/companion-loading.scala | 0 tests/{run => run-custom-args/erased}/erased-1.check | 0 tests/{run => run-custom-args/erased}/erased-1.scala | 0 tests/{run => run-custom-args/erased}/erased-10.check | 0 tests/{run => run-custom-args/erased}/erased-10.scala | 0 tests/{run => run-custom-args/erased}/erased-11.check | 0 tests/{run => run-custom-args/erased}/erased-11.scala | 0 tests/{run => run-custom-args/erased}/erased-12.check | 0 tests/{run => run-custom-args/erased}/erased-12.scala | 0 tests/{run => run-custom-args/erased}/erased-13.check | 0 tests/{run => run-custom-args/erased}/erased-13.scala | 0 tests/{run => run-custom-args/erased}/erased-14.check | 0 tests/{run => run-custom-args/erased}/erased-14.scala | 0 tests/{run => run-custom-args/erased}/erased-15.check | 0 tests/{run => run-custom-args/erased}/erased-15.scala | 0 tests/{run => run-custom-args/erased}/erased-16.check | 0 tests/{run => run-custom-args/erased}/erased-16.scala | 0 tests/{run => run-custom-args/erased}/erased-17.check | 0 tests/{run => run-custom-args/erased}/erased-17.scala | 0 tests/{run => run-custom-args/erased}/erased-18.check | 0 tests/{run => run-custom-args/erased}/erased-18.scala | 0 tests/{run => run-custom-args/erased}/erased-19.check | 0 tests/{run => run-custom-args/erased}/erased-19.scala | 0 tests/{run => run-custom-args/erased}/erased-2.check | 0 tests/{run => run-custom-args/erased}/erased-2.scala | 0 tests/{run => run-custom-args/erased}/erased-20.check | 0 tests/{run => run-custom-args/erased}/erased-20.scala | 0 tests/{run => run-custom-args/erased}/erased-21.check | 0 tests/{run => run-custom-args/erased}/erased-21.scala | 0 tests/{run => run-custom-args/erased}/erased-22.check | 0 tests/{run => run-custom-args/erased}/erased-22.scala | 0 tests/{run => run-custom-args/erased}/erased-23.check | 0 tests/{run => run-custom-args/erased}/erased-23.scala | 0 tests/{run => run-custom-args/erased}/erased-25.check | 0 tests/{run => run-custom-args/erased}/erased-25.scala | 0 tests/{run => run-custom-args/erased}/erased-26.check | 0 tests/{run => run-custom-args/erased}/erased-26.scala | 0 tests/{run => run-custom-args/erased}/erased-27.check | 0 tests/{run => run-custom-args/erased}/erased-27.scala | 0 tests/{run => run-custom-args/erased}/erased-28.check | 0 tests/{run => run-custom-args/erased}/erased-28.scala | 0 tests/{run => run-custom-args/erased}/erased-3.check | 0 tests/{run => run-custom-args/erased}/erased-3.scala | 0 tests/{run => run-custom-args/erased}/erased-4.check | 0 tests/{run => run-custom-args/erased}/erased-4.scala | 0 tests/{run => run-custom-args/erased}/erased-5.check | 0 tests/{run => run-custom-args/erased}/erased-5.scala | 0 tests/{run => run-custom-args/erased}/erased-6.check | 0 tests/{run => run-custom-args/erased}/erased-6.scala | 0 tests/{run => run-custom-args/erased}/erased-7.check | 0 tests/{run => run-custom-args/erased}/erased-7.scala | 0 tests/{run => run-custom-args/erased}/erased-8.check | 0 tests/{run => run-custom-args/erased}/erased-8.scala | 0 tests/{run => run-custom-args/erased}/erased-9.check | 0 tests/{run => run-custom-args/erased}/erased-9.scala | 0 tests/{run => run-custom-args/erased}/erased-frameless.check | 0 tests/{run => run-custom-args/erased}/erased-frameless.scala | 0 .../erased}/erased-machine-state.check | 0 .../erased}/erased-machine-state.scala | 0 tests/{run => run-custom-args/erased}/erased-poly-ref.check | 0 tests/{run => run-custom-args/erased}/erased-poly-ref.scala | 0 .../erased}/erased-select-prefix.check | 0 .../erased}/erased-select-prefix.scala | 0 .../{run => run-custom-args/erased}/erased-value-class.check | 0 .../{run => run-custom-args/erased}/erased-value-class.scala | 0 .../erased/generic-java-signatures-erased.check} | 0 .../erased/generic-java-signatures-erased.scala} | 0 tests/{run => run-custom-args}/generic-tuples.scala | 0 .../lambda-serialization-others.scala | 0 tests/{run => run-custom-args}/phantom-OnHList.scala | 0 .../run-macros-erased/macro-erased}/1.scala | 0 .../run-macros-erased/macro-erased}/2.scala | 0 tests/{run => run-custom-args}/toplevel-stale/A_1.scala | 0 tests/{run => run-custom-args}/toplevel-stale/B_2.scala | 0 tests/{run => run-custom-args}/toplevel-stale/Test_3.scala | 0 tests/{run => run-custom-args}/typeclass-derivation2.scala | 0 tests/{run => run-custom-args}/typeclass-derivation2c.scala | 0 tests/{run => run-custom-args}/typelevel-defaultValue.scala | 0 142 files changed, 11 insertions(+), 2 deletions(-) rename tests/{neg => neg-custom-args/erased}/erased-1.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-2.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-24.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-3.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-4.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-5.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-6.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-args-lifted.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-assign.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-case-class.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-class.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-def-rhs.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-if-else.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-implicit.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-lazy-val.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-machine-state-encoding-with-inline.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-match.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-object.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-path.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-pathdep-1.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-pathdep-2.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-return.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-singleton.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-trait.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-try.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-type.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-val-rhs.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-value-class.scala (100%) rename tests/{neg => neg-custom-args/erased}/erased-var.scala (100%) rename tests/{neg => neg-custom-args}/i4060.scala (100%) rename tests/{neg => neg-custom-args}/inline-position/A_1.scala (100%) rename tests/{neg => neg-custom-args}/inline-position/B_2.scala (100%) rename tests/{neg => neg-custom-args}/nested-rewrites.scala (100%) rename tests/{neg => neg-custom-args}/typeclass-derivation2.scala (100%) rename tests/{neg => neg-custom-args}/typelevel-noeta.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-args-lifted.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-asInstanceOf.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-deep-context.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-extension-method.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-lub-2.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-lub.scala (100%) rename tests/{pos => pos-custom-args/erased}/erased-typedef.scala (100%) rename tests/{pos => pos-custom-args/erased}/i7868.scala (100%) rename tests/{pos => pos-custom-args/erased}/i7878.scala (100%) rename tests/{pos => pos-custom-args}/i4125.scala (100%) rename tests/{pos => pos-custom-args}/i4509.scala (100%) rename tests/{pos => pos-custom-args}/i5938.scala (100%) rename tests/{pos => pos-custom-args}/i6009a.scala (100%) rename tests/{pos => pos-custom-args}/i6009b.scala (100%) rename tests/{pos => pos-custom-args}/i6009c.scala (100%) rename tests/{pos => pos-custom-args}/i6419.scala (100%) rename tests/{pos => pos-custom-args}/i7741.scala (100%) rename tests/{pos => pos-custom-args}/inline-match-gadt.scala (100%) rename tests/{pos => pos-custom-args}/matchtype.scala (100%) rename tests/{pos => pos-custom-args}/phantom-Eq.scala (100%) rename tests/{pos => pos-custom-args}/phantom-Eq2/Phantom-Eq_1.scala (100%) rename tests/{pos => pos-custom-args}/phantom-Eq2/Phantom-Eq_2.scala (100%) rename tests/{pos => pos-custom-args}/phantom-Evidence.scala (100%) rename tests/{run => run-custom-args}/companion-loading.scala (100%) rename tests/{run => run-custom-args/erased}/erased-1.check (100%) rename tests/{run => run-custom-args/erased}/erased-1.scala (100%) rename tests/{run => run-custom-args/erased}/erased-10.check (100%) rename tests/{run => run-custom-args/erased}/erased-10.scala (100%) rename tests/{run => run-custom-args/erased}/erased-11.check (100%) rename tests/{run => run-custom-args/erased}/erased-11.scala (100%) rename tests/{run => run-custom-args/erased}/erased-12.check (100%) rename tests/{run => run-custom-args/erased}/erased-12.scala (100%) rename tests/{run => run-custom-args/erased}/erased-13.check (100%) rename tests/{run => run-custom-args/erased}/erased-13.scala (100%) rename tests/{run => run-custom-args/erased}/erased-14.check (100%) rename tests/{run => run-custom-args/erased}/erased-14.scala (100%) rename tests/{run => run-custom-args/erased}/erased-15.check (100%) rename tests/{run => run-custom-args/erased}/erased-15.scala (100%) rename tests/{run => run-custom-args/erased}/erased-16.check (100%) rename tests/{run => run-custom-args/erased}/erased-16.scala (100%) rename tests/{run => run-custom-args/erased}/erased-17.check (100%) rename tests/{run => run-custom-args/erased}/erased-17.scala (100%) rename tests/{run => run-custom-args/erased}/erased-18.check (100%) rename tests/{run => run-custom-args/erased}/erased-18.scala (100%) rename tests/{run => run-custom-args/erased}/erased-19.check (100%) rename tests/{run => run-custom-args/erased}/erased-19.scala (100%) rename tests/{run => run-custom-args/erased}/erased-2.check (100%) rename tests/{run => run-custom-args/erased}/erased-2.scala (100%) rename tests/{run => run-custom-args/erased}/erased-20.check (100%) rename tests/{run => run-custom-args/erased}/erased-20.scala (100%) rename tests/{run => run-custom-args/erased}/erased-21.check (100%) rename tests/{run => run-custom-args/erased}/erased-21.scala (100%) rename tests/{run => run-custom-args/erased}/erased-22.check (100%) rename tests/{run => run-custom-args/erased}/erased-22.scala (100%) rename tests/{run => run-custom-args/erased}/erased-23.check (100%) rename tests/{run => run-custom-args/erased}/erased-23.scala (100%) rename tests/{run => run-custom-args/erased}/erased-25.check (100%) rename tests/{run => run-custom-args/erased}/erased-25.scala (100%) rename tests/{run => run-custom-args/erased}/erased-26.check (100%) rename tests/{run => run-custom-args/erased}/erased-26.scala (100%) rename tests/{run => run-custom-args/erased}/erased-27.check (100%) rename tests/{run => run-custom-args/erased}/erased-27.scala (100%) rename tests/{run => run-custom-args/erased}/erased-28.check (100%) rename tests/{run => run-custom-args/erased}/erased-28.scala (100%) rename tests/{run => run-custom-args/erased}/erased-3.check (100%) rename tests/{run => run-custom-args/erased}/erased-3.scala (100%) rename tests/{run => run-custom-args/erased}/erased-4.check (100%) rename tests/{run => run-custom-args/erased}/erased-4.scala (100%) rename tests/{run => run-custom-args/erased}/erased-5.check (100%) rename tests/{run => run-custom-args/erased}/erased-5.scala (100%) rename tests/{run => run-custom-args/erased}/erased-6.check (100%) rename tests/{run => run-custom-args/erased}/erased-6.scala (100%) rename tests/{run => run-custom-args/erased}/erased-7.check (100%) rename tests/{run => run-custom-args/erased}/erased-7.scala (100%) rename tests/{run => run-custom-args/erased}/erased-8.check (100%) rename tests/{run => run-custom-args/erased}/erased-8.scala (100%) rename tests/{run => run-custom-args/erased}/erased-9.check (100%) rename tests/{run => run-custom-args/erased}/erased-9.scala (100%) rename tests/{run => run-custom-args/erased}/erased-frameless.check (100%) rename tests/{run => run-custom-args/erased}/erased-frameless.scala (100%) rename tests/{run => run-custom-args/erased}/erased-machine-state.check (100%) rename tests/{run => run-custom-args/erased}/erased-machine-state.scala (100%) rename tests/{run => run-custom-args/erased}/erased-poly-ref.check (100%) rename tests/{run => run-custom-args/erased}/erased-poly-ref.scala (100%) rename tests/{run => run-custom-args/erased}/erased-select-prefix.check (100%) rename tests/{run => run-custom-args/erased}/erased-select-prefix.scala (100%) rename tests/{run => run-custom-args/erased}/erased-value-class.check (100%) rename tests/{run => run-custom-args/erased}/erased-value-class.scala (100%) rename tests/{generic-java-signatures/erased.check => run-custom-args/erased/generic-java-signatures-erased.check} (100%) rename tests/{generic-java-signatures/erased.scala => run-custom-args/erased/generic-java-signatures-erased.scala} (100%) rename tests/{run => run-custom-args}/generic-tuples.scala (100%) rename tests/{run => run-custom-args}/lambda-serialization-others.scala (100%) rename tests/{run => run-custom-args}/phantom-OnHList.scala (100%) rename tests/{run-macros/erased-arg-macro => run-custom-args/run-macros-erased/macro-erased}/1.scala (100%) rename tests/{run-macros/erased-arg-macro => run-custom-args/run-macros-erased/macro-erased}/2.scala (100%) rename tests/{run => run-custom-args}/toplevel-stale/A_1.scala (100%) rename tests/{run => run-custom-args}/toplevel-stale/B_2.scala (100%) rename tests/{run => run-custom-args}/toplevel-stale/Test_3.scala (100%) rename tests/{run => run-custom-args}/typeclass-derivation2.scala (100%) rename tests/{run => run-custom-args}/typeclass-derivation2c.scala (100%) rename tests/{run => run-custom-args}/typelevel-defaultValue.scala (100%) diff --git a/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala index 643e69aa2471..7ad6e776b67e 100644 --- a/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala +++ b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala @@ -166,6 +166,7 @@ class ScalaSettings extends Settings.SettingGroup { // Extremely experimental language features val YnoKindPolymorphism: Setting[Boolean] = BooleanSetting("-Yno-kind-polymorphism", "Enable kind polymorphism (see https://dotty.epfl.ch/docs/reference/kind-polymorphism.html). Potentially unsound.") val YexplicitNulls: Setting[Boolean] = BooleanSetting("-Yexplicit-nulls", "Make reference types non-nullable. Nullable types can be expressed with unions: e.g. String|Null.") + val YerasedTerms: Setting[Boolean] = BooleanSetting("-Yerased-terms", "Allows the use of erased terms.") /** Area-specific debug output */ val YexplainLowlevel: Setting[Boolean] = BooleanSetting("-Yexplain-lowlevel", "When explaining type errors, show types at a lower level.") diff --git a/compiler/src/dotty/tools/dotc/core/Definitions.scala b/compiler/src/dotty/tools/dotc/core/Definitions.scala index 127e6647f204..836ff4eef807 100644 --- a/compiler/src/dotty/tools/dotc/core/Definitions.scala +++ b/compiler/src/dotty/tools/dotc/core/Definitions.scala @@ -221,6 +221,7 @@ class Definitions { @tu lazy val ScalaXmlPackageClass: Symbol = ctx.getPackageClassIfDefined("scala.xml") @tu lazy val CompiletimePackageObject: Symbol = ctx.requiredModule("scala.compiletime.package") + @tu lazy val Compiletime_erasedValue : Symbol = CompiletimePackageObject.requiredMethod("erasedValue") @tu lazy val Compiletime_error : Symbol = CompiletimePackageObject.requiredMethod(nme.error) @tu lazy val Compiletime_constValue : Symbol = CompiletimePackageObject.requiredMethod("constValue") @tu lazy val Compiletime_constValueOpt: Symbol = CompiletimePackageObject.requiredMethod("constValueOpt") diff --git a/compiler/src/dotty/tools/dotc/typer/Checking.scala b/compiler/src/dotty/tools/dotc/typer/Checking.scala index 7df77bcee979..7e71230ebbb1 100644 --- a/compiler/src/dotty/tools/dotc/typer/Checking.scala +++ b/compiler/src/dotty/tools/dotc/typer/Checking.scala @@ -457,7 +457,8 @@ object Checking { sym.setFlag(Private) // break the overriding relationship by making sym Private } if (sym.is(Erased)) - checkApplicable(Erased, !sym.isOneOf(MutableOrLazy)) + if ctx.settings.YerasedTerms.value || sym == defn.Compiletime_erasedValue then checkApplicable(Erased, !sym.isOneOf(MutableOrLazy)) + else fail("cannot use `erased` without " + ctx.settings.YerasedTerms.name) } /** Check the type signature of the symbol `M` defined by `tree` does not refer diff --git a/compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala b/compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala index 95b2fd978068..104783d9c867 100644 --- a/compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala @@ -118,6 +118,7 @@ class BootstrappedOnlyCompilationTests extends ParallelTesting { aggregateTests( compileFilesInDir("tests/run-macros", defaultOptions), compileFilesInDir("tests/run-custom-args/Yretain-trees", defaultOptions and "-Yretain-trees"), + compileFilesInDir("tests/run-custom-args/run-macros-erased", defaultOptions and "-Yerased-terms"), ) }.checkRuns() diff --git a/compiler/test/dotty/tools/dotc/CompilationTests.scala b/compiler/test/dotty/tools/dotc/CompilationTests.scala index fe65b48bda91..feacb283ef40 100644 --- a/compiler/test/dotty/tools/dotc/CompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/CompilationTests.scala @@ -47,6 +47,7 @@ class CompilationTests extends ParallelTesting { compileFilesInDir("tests/pos-special/isInstanceOf", allowDeepSubtypes.and("-Xfatal-warnings")), compileFilesInDir("tests/new", defaultOptions), compileFilesInDir("tests/pos-scala2", scala2CompatMode), + compileFilesInDir("tests/pos-custom-args/erased", defaultOptions.and("-Yerased-terms")), compileFilesInDir("tests/pos", defaultOptions), compileFilesInDir("tests/pos-deep-subtype", allowDeepSubtypes), compileFile( @@ -114,6 +115,7 @@ class CompilationTests extends ParallelTesting { compileFilesInDir("tests/neg-no-kind-polymorphism", defaultOptions and "-Yno-kind-polymorphism"), compileFilesInDir("tests/neg-custom-args/deprecation", defaultOptions.and("-Xfatal-warnings", "-deprecation")), compileFilesInDir("tests/neg-custom-args/fatal-warnings", defaultOptions.and("-Xfatal-warnings")), + compileFilesInDir("tests/neg-custom-args/erased", defaultOptions.and("-Yerased-terms")), compileFilesInDir("tests/neg-custom-args/allow-double-bindings", allowDoubleBindings), compileFilesInDir("tests/neg-custom-args/explicit-nulls", defaultOptions.and("-Yexplicit-nulls")), compileDir("tests/neg-custom-args/impl-conv", defaultOptions.and("-Xfatal-warnings", "-feature")), @@ -165,6 +167,7 @@ class CompilationTests extends ParallelTesting { compileFile("tests/run-custom-args/i5256.scala", allowDeepSubtypes), compileFile("tests/run-custom-args/fors.scala", defaultOptions and "-strict"), compileFile("tests/run-custom-args/no-useless-forwarders.scala", defaultOptions and "-Xmixin-force-forwarders:false"), + compileFilesInDir("tests/run-custom-args/erased", defaultOptions.and("-Yerased-terms")), compileFilesInDir("tests/run-deep-subtype", allowDeepSubtypes), compileFilesInDir("tests/run", defaultOptions) ).checkRuns() diff --git a/compiler/test/dotty/tools/repl/ReplTest.scala b/compiler/test/dotty/tools/repl/ReplTest.scala index ef740004756f..eb2a19a9cfb6 100644 --- a/compiler/test/dotty/tools/repl/ReplTest.scala +++ b/compiler/test/dotty/tools/repl/ReplTest.scala @@ -21,7 +21,9 @@ class ReplTest(withStaging: Boolean = false, out: ByteArrayOutputStream = new By TestConfiguration.withStagingClasspath else TestConfiguration.basicClasspath, - "-color:never"), + "-color:never", + "-Yerased-terms", + ), new PrintStream(out) ) with MessageRendering { /** Get the stored output from `out`, resetting the buffer */ diff --git a/tests/neg/erased-1.scala b/tests/neg-custom-args/erased/erased-1.scala similarity index 100% rename from tests/neg/erased-1.scala rename to tests/neg-custom-args/erased/erased-1.scala diff --git a/tests/neg/erased-2.scala b/tests/neg-custom-args/erased/erased-2.scala similarity index 100% rename from tests/neg/erased-2.scala rename to tests/neg-custom-args/erased/erased-2.scala diff --git a/tests/neg/erased-24.scala b/tests/neg-custom-args/erased/erased-24.scala similarity index 100% rename from tests/neg/erased-24.scala rename to tests/neg-custom-args/erased/erased-24.scala diff --git a/tests/neg/erased-3.scala b/tests/neg-custom-args/erased/erased-3.scala similarity index 100% rename from tests/neg/erased-3.scala rename to tests/neg-custom-args/erased/erased-3.scala diff --git a/tests/neg/erased-4.scala b/tests/neg-custom-args/erased/erased-4.scala similarity index 100% rename from tests/neg/erased-4.scala rename to tests/neg-custom-args/erased/erased-4.scala diff --git a/tests/neg/erased-5.scala b/tests/neg-custom-args/erased/erased-5.scala similarity index 100% rename from tests/neg/erased-5.scala rename to tests/neg-custom-args/erased/erased-5.scala diff --git a/tests/neg/erased-6.scala b/tests/neg-custom-args/erased/erased-6.scala similarity index 100% rename from tests/neg/erased-6.scala rename to tests/neg-custom-args/erased/erased-6.scala diff --git a/tests/neg/erased-args-lifted.scala b/tests/neg-custom-args/erased/erased-args-lifted.scala similarity index 100% rename from tests/neg/erased-args-lifted.scala rename to tests/neg-custom-args/erased/erased-args-lifted.scala diff --git a/tests/neg/erased-assign.scala b/tests/neg-custom-args/erased/erased-assign.scala similarity index 100% rename from tests/neg/erased-assign.scala rename to tests/neg-custom-args/erased/erased-assign.scala diff --git a/tests/neg/erased-case-class.scala b/tests/neg-custom-args/erased/erased-case-class.scala similarity index 100% rename from tests/neg/erased-case-class.scala rename to tests/neg-custom-args/erased/erased-case-class.scala diff --git a/tests/neg/erased-class.scala b/tests/neg-custom-args/erased/erased-class.scala similarity index 100% rename from tests/neg/erased-class.scala rename to tests/neg-custom-args/erased/erased-class.scala diff --git a/tests/neg/erased-def-rhs.scala b/tests/neg-custom-args/erased/erased-def-rhs.scala similarity index 100% rename from tests/neg/erased-def-rhs.scala rename to tests/neg-custom-args/erased/erased-def-rhs.scala diff --git a/tests/neg/erased-if-else.scala b/tests/neg-custom-args/erased/erased-if-else.scala similarity index 100% rename from tests/neg/erased-if-else.scala rename to tests/neg-custom-args/erased/erased-if-else.scala diff --git a/tests/neg/erased-implicit.scala b/tests/neg-custom-args/erased/erased-implicit.scala similarity index 100% rename from tests/neg/erased-implicit.scala rename to tests/neg-custom-args/erased/erased-implicit.scala diff --git a/tests/neg/erased-lazy-val.scala b/tests/neg-custom-args/erased/erased-lazy-val.scala similarity index 100% rename from tests/neg/erased-lazy-val.scala rename to tests/neg-custom-args/erased/erased-lazy-val.scala diff --git a/tests/neg/erased-machine-state-encoding-with-inline.scala b/tests/neg-custom-args/erased/erased-machine-state-encoding-with-inline.scala similarity index 100% rename from tests/neg/erased-machine-state-encoding-with-inline.scala rename to tests/neg-custom-args/erased/erased-machine-state-encoding-with-inline.scala diff --git a/tests/neg/erased-match.scala b/tests/neg-custom-args/erased/erased-match.scala similarity index 100% rename from tests/neg/erased-match.scala rename to tests/neg-custom-args/erased/erased-match.scala diff --git a/tests/neg/erased-object.scala b/tests/neg-custom-args/erased/erased-object.scala similarity index 100% rename from tests/neg/erased-object.scala rename to tests/neg-custom-args/erased/erased-object.scala diff --git a/tests/neg/erased-path.scala b/tests/neg-custom-args/erased/erased-path.scala similarity index 100% rename from tests/neg/erased-path.scala rename to tests/neg-custom-args/erased/erased-path.scala diff --git a/tests/neg/erased-pathdep-1.scala b/tests/neg-custom-args/erased/erased-pathdep-1.scala similarity index 100% rename from tests/neg/erased-pathdep-1.scala rename to tests/neg-custom-args/erased/erased-pathdep-1.scala diff --git a/tests/neg/erased-pathdep-2.scala b/tests/neg-custom-args/erased/erased-pathdep-2.scala similarity index 100% rename from tests/neg/erased-pathdep-2.scala rename to tests/neg-custom-args/erased/erased-pathdep-2.scala diff --git a/tests/neg/erased-return.scala b/tests/neg-custom-args/erased/erased-return.scala similarity index 100% rename from tests/neg/erased-return.scala rename to tests/neg-custom-args/erased/erased-return.scala diff --git a/tests/neg/erased-singleton.scala b/tests/neg-custom-args/erased/erased-singleton.scala similarity index 100% rename from tests/neg/erased-singleton.scala rename to tests/neg-custom-args/erased/erased-singleton.scala diff --git a/tests/neg/erased-trait.scala b/tests/neg-custom-args/erased/erased-trait.scala similarity index 100% rename from tests/neg/erased-trait.scala rename to tests/neg-custom-args/erased/erased-trait.scala diff --git a/tests/neg/erased-try.scala b/tests/neg-custom-args/erased/erased-try.scala similarity index 100% rename from tests/neg/erased-try.scala rename to tests/neg-custom-args/erased/erased-try.scala diff --git a/tests/neg/erased-type.scala b/tests/neg-custom-args/erased/erased-type.scala similarity index 100% rename from tests/neg/erased-type.scala rename to tests/neg-custom-args/erased/erased-type.scala diff --git a/tests/neg/erased-val-rhs.scala b/tests/neg-custom-args/erased/erased-val-rhs.scala similarity index 100% rename from tests/neg/erased-val-rhs.scala rename to tests/neg-custom-args/erased/erased-val-rhs.scala diff --git a/tests/neg/erased-value-class.scala b/tests/neg-custom-args/erased/erased-value-class.scala similarity index 100% rename from tests/neg/erased-value-class.scala rename to tests/neg-custom-args/erased/erased-value-class.scala diff --git a/tests/neg/erased-var.scala b/tests/neg-custom-args/erased/erased-var.scala similarity index 100% rename from tests/neg/erased-var.scala rename to tests/neg-custom-args/erased/erased-var.scala diff --git a/tests/neg/i4060.scala b/tests/neg-custom-args/i4060.scala similarity index 100% rename from tests/neg/i4060.scala rename to tests/neg-custom-args/i4060.scala diff --git a/tests/neg/inline-position/A_1.scala b/tests/neg-custom-args/inline-position/A_1.scala similarity index 100% rename from tests/neg/inline-position/A_1.scala rename to tests/neg-custom-args/inline-position/A_1.scala diff --git a/tests/neg/inline-position/B_2.scala b/tests/neg-custom-args/inline-position/B_2.scala similarity index 100% rename from tests/neg/inline-position/B_2.scala rename to tests/neg-custom-args/inline-position/B_2.scala diff --git a/tests/neg/nested-rewrites.scala b/tests/neg-custom-args/nested-rewrites.scala similarity index 100% rename from tests/neg/nested-rewrites.scala rename to tests/neg-custom-args/nested-rewrites.scala diff --git a/tests/neg/typeclass-derivation2.scala b/tests/neg-custom-args/typeclass-derivation2.scala similarity index 100% rename from tests/neg/typeclass-derivation2.scala rename to tests/neg-custom-args/typeclass-derivation2.scala diff --git a/tests/neg/typelevel-noeta.scala b/tests/neg-custom-args/typelevel-noeta.scala similarity index 100% rename from tests/neg/typelevel-noeta.scala rename to tests/neg-custom-args/typelevel-noeta.scala diff --git a/tests/pos/erased-args-lifted.scala b/tests/pos-custom-args/erased/erased-args-lifted.scala similarity index 100% rename from tests/pos/erased-args-lifted.scala rename to tests/pos-custom-args/erased/erased-args-lifted.scala diff --git a/tests/pos/erased-asInstanceOf.scala b/tests/pos-custom-args/erased/erased-asInstanceOf.scala similarity index 100% rename from tests/pos/erased-asInstanceOf.scala rename to tests/pos-custom-args/erased/erased-asInstanceOf.scala diff --git a/tests/pos/erased-deep-context.scala b/tests/pos-custom-args/erased/erased-deep-context.scala similarity index 100% rename from tests/pos/erased-deep-context.scala rename to tests/pos-custom-args/erased/erased-deep-context.scala diff --git a/tests/pos/erased-extension-method.scala b/tests/pos-custom-args/erased/erased-extension-method.scala similarity index 100% rename from tests/pos/erased-extension-method.scala rename to tests/pos-custom-args/erased/erased-extension-method.scala diff --git a/tests/pos/erased-lub-2.scala b/tests/pos-custom-args/erased/erased-lub-2.scala similarity index 100% rename from tests/pos/erased-lub-2.scala rename to tests/pos-custom-args/erased/erased-lub-2.scala diff --git a/tests/pos/erased-lub.scala b/tests/pos-custom-args/erased/erased-lub.scala similarity index 100% rename from tests/pos/erased-lub.scala rename to tests/pos-custom-args/erased/erased-lub.scala diff --git a/tests/pos/erased-typedef.scala b/tests/pos-custom-args/erased/erased-typedef.scala similarity index 100% rename from tests/pos/erased-typedef.scala rename to tests/pos-custom-args/erased/erased-typedef.scala diff --git a/tests/pos/i7868.scala b/tests/pos-custom-args/erased/i7868.scala similarity index 100% rename from tests/pos/i7868.scala rename to tests/pos-custom-args/erased/i7868.scala diff --git a/tests/pos/i7878.scala b/tests/pos-custom-args/erased/i7878.scala similarity index 100% rename from tests/pos/i7878.scala rename to tests/pos-custom-args/erased/i7878.scala diff --git a/tests/pos/i4125.scala b/tests/pos-custom-args/i4125.scala similarity index 100% rename from tests/pos/i4125.scala rename to tests/pos-custom-args/i4125.scala diff --git a/tests/pos/i4509.scala b/tests/pos-custom-args/i4509.scala similarity index 100% rename from tests/pos/i4509.scala rename to tests/pos-custom-args/i4509.scala diff --git a/tests/pos/i5938.scala b/tests/pos-custom-args/i5938.scala similarity index 100% rename from tests/pos/i5938.scala rename to tests/pos-custom-args/i5938.scala diff --git a/tests/pos/i6009a.scala b/tests/pos-custom-args/i6009a.scala similarity index 100% rename from tests/pos/i6009a.scala rename to tests/pos-custom-args/i6009a.scala diff --git a/tests/pos/i6009b.scala b/tests/pos-custom-args/i6009b.scala similarity index 100% rename from tests/pos/i6009b.scala rename to tests/pos-custom-args/i6009b.scala diff --git a/tests/pos/i6009c.scala b/tests/pos-custom-args/i6009c.scala similarity index 100% rename from tests/pos/i6009c.scala rename to tests/pos-custom-args/i6009c.scala diff --git a/tests/pos/i6419.scala b/tests/pos-custom-args/i6419.scala similarity index 100% rename from tests/pos/i6419.scala rename to tests/pos-custom-args/i6419.scala diff --git a/tests/pos/i7741.scala b/tests/pos-custom-args/i7741.scala similarity index 100% rename from tests/pos/i7741.scala rename to tests/pos-custom-args/i7741.scala diff --git a/tests/pos/inline-match-gadt.scala b/tests/pos-custom-args/inline-match-gadt.scala similarity index 100% rename from tests/pos/inline-match-gadt.scala rename to tests/pos-custom-args/inline-match-gadt.scala diff --git a/tests/pos/matchtype.scala b/tests/pos-custom-args/matchtype.scala similarity index 100% rename from tests/pos/matchtype.scala rename to tests/pos-custom-args/matchtype.scala diff --git a/tests/pos/phantom-Eq.scala b/tests/pos-custom-args/phantom-Eq.scala similarity index 100% rename from tests/pos/phantom-Eq.scala rename to tests/pos-custom-args/phantom-Eq.scala diff --git a/tests/pos/phantom-Eq2/Phantom-Eq_1.scala b/tests/pos-custom-args/phantom-Eq2/Phantom-Eq_1.scala similarity index 100% rename from tests/pos/phantom-Eq2/Phantom-Eq_1.scala rename to tests/pos-custom-args/phantom-Eq2/Phantom-Eq_1.scala diff --git a/tests/pos/phantom-Eq2/Phantom-Eq_2.scala b/tests/pos-custom-args/phantom-Eq2/Phantom-Eq_2.scala similarity index 100% rename from tests/pos/phantom-Eq2/Phantom-Eq_2.scala rename to tests/pos-custom-args/phantom-Eq2/Phantom-Eq_2.scala diff --git a/tests/pos/phantom-Evidence.scala b/tests/pos-custom-args/phantom-Evidence.scala similarity index 100% rename from tests/pos/phantom-Evidence.scala rename to tests/pos-custom-args/phantom-Evidence.scala diff --git a/tests/run/companion-loading.scala b/tests/run-custom-args/companion-loading.scala similarity index 100% rename from tests/run/companion-loading.scala rename to tests/run-custom-args/companion-loading.scala diff --git a/tests/run/erased-1.check b/tests/run-custom-args/erased/erased-1.check similarity index 100% rename from tests/run/erased-1.check rename to tests/run-custom-args/erased/erased-1.check diff --git a/tests/run/erased-1.scala b/tests/run-custom-args/erased/erased-1.scala similarity index 100% rename from tests/run/erased-1.scala rename to tests/run-custom-args/erased/erased-1.scala diff --git a/tests/run/erased-10.check b/tests/run-custom-args/erased/erased-10.check similarity index 100% rename from tests/run/erased-10.check rename to tests/run-custom-args/erased/erased-10.check diff --git a/tests/run/erased-10.scala b/tests/run-custom-args/erased/erased-10.scala similarity index 100% rename from tests/run/erased-10.scala rename to tests/run-custom-args/erased/erased-10.scala diff --git a/tests/run/erased-11.check b/tests/run-custom-args/erased/erased-11.check similarity index 100% rename from tests/run/erased-11.check rename to tests/run-custom-args/erased/erased-11.check diff --git a/tests/run/erased-11.scala b/tests/run-custom-args/erased/erased-11.scala similarity index 100% rename from tests/run/erased-11.scala rename to tests/run-custom-args/erased/erased-11.scala diff --git a/tests/run/erased-12.check b/tests/run-custom-args/erased/erased-12.check similarity index 100% rename from tests/run/erased-12.check rename to tests/run-custom-args/erased/erased-12.check diff --git a/tests/run/erased-12.scala b/tests/run-custom-args/erased/erased-12.scala similarity index 100% rename from tests/run/erased-12.scala rename to tests/run-custom-args/erased/erased-12.scala diff --git a/tests/run/erased-13.check b/tests/run-custom-args/erased/erased-13.check similarity index 100% rename from tests/run/erased-13.check rename to tests/run-custom-args/erased/erased-13.check diff --git a/tests/run/erased-13.scala b/tests/run-custom-args/erased/erased-13.scala similarity index 100% rename from tests/run/erased-13.scala rename to tests/run-custom-args/erased/erased-13.scala diff --git a/tests/run/erased-14.check b/tests/run-custom-args/erased/erased-14.check similarity index 100% rename from tests/run/erased-14.check rename to tests/run-custom-args/erased/erased-14.check diff --git a/tests/run/erased-14.scala b/tests/run-custom-args/erased/erased-14.scala similarity index 100% rename from tests/run/erased-14.scala rename to tests/run-custom-args/erased/erased-14.scala diff --git a/tests/run/erased-15.check b/tests/run-custom-args/erased/erased-15.check similarity index 100% rename from tests/run/erased-15.check rename to tests/run-custom-args/erased/erased-15.check diff --git a/tests/run/erased-15.scala b/tests/run-custom-args/erased/erased-15.scala similarity index 100% rename from tests/run/erased-15.scala rename to tests/run-custom-args/erased/erased-15.scala diff --git a/tests/run/erased-16.check b/tests/run-custom-args/erased/erased-16.check similarity index 100% rename from tests/run/erased-16.check rename to tests/run-custom-args/erased/erased-16.check diff --git a/tests/run/erased-16.scala b/tests/run-custom-args/erased/erased-16.scala similarity index 100% rename from tests/run/erased-16.scala rename to tests/run-custom-args/erased/erased-16.scala diff --git a/tests/run/erased-17.check b/tests/run-custom-args/erased/erased-17.check similarity index 100% rename from tests/run/erased-17.check rename to tests/run-custom-args/erased/erased-17.check diff --git a/tests/run/erased-17.scala b/tests/run-custom-args/erased/erased-17.scala similarity index 100% rename from tests/run/erased-17.scala rename to tests/run-custom-args/erased/erased-17.scala diff --git a/tests/run/erased-18.check b/tests/run-custom-args/erased/erased-18.check similarity index 100% rename from tests/run/erased-18.check rename to tests/run-custom-args/erased/erased-18.check diff --git a/tests/run/erased-18.scala b/tests/run-custom-args/erased/erased-18.scala similarity index 100% rename from tests/run/erased-18.scala rename to tests/run-custom-args/erased/erased-18.scala diff --git a/tests/run/erased-19.check b/tests/run-custom-args/erased/erased-19.check similarity index 100% rename from tests/run/erased-19.check rename to tests/run-custom-args/erased/erased-19.check diff --git a/tests/run/erased-19.scala b/tests/run-custom-args/erased/erased-19.scala similarity index 100% rename from tests/run/erased-19.scala rename to tests/run-custom-args/erased/erased-19.scala diff --git a/tests/run/erased-2.check b/tests/run-custom-args/erased/erased-2.check similarity index 100% rename from tests/run/erased-2.check rename to tests/run-custom-args/erased/erased-2.check diff --git a/tests/run/erased-2.scala b/tests/run-custom-args/erased/erased-2.scala similarity index 100% rename from tests/run/erased-2.scala rename to tests/run-custom-args/erased/erased-2.scala diff --git a/tests/run/erased-20.check b/tests/run-custom-args/erased/erased-20.check similarity index 100% rename from tests/run/erased-20.check rename to tests/run-custom-args/erased/erased-20.check diff --git a/tests/run/erased-20.scala b/tests/run-custom-args/erased/erased-20.scala similarity index 100% rename from tests/run/erased-20.scala rename to tests/run-custom-args/erased/erased-20.scala diff --git a/tests/run/erased-21.check b/tests/run-custom-args/erased/erased-21.check similarity index 100% rename from tests/run/erased-21.check rename to tests/run-custom-args/erased/erased-21.check diff --git a/tests/run/erased-21.scala b/tests/run-custom-args/erased/erased-21.scala similarity index 100% rename from tests/run/erased-21.scala rename to tests/run-custom-args/erased/erased-21.scala diff --git a/tests/run/erased-22.check b/tests/run-custom-args/erased/erased-22.check similarity index 100% rename from tests/run/erased-22.check rename to tests/run-custom-args/erased/erased-22.check diff --git a/tests/run/erased-22.scala b/tests/run-custom-args/erased/erased-22.scala similarity index 100% rename from tests/run/erased-22.scala rename to tests/run-custom-args/erased/erased-22.scala diff --git a/tests/run/erased-23.check b/tests/run-custom-args/erased/erased-23.check similarity index 100% rename from tests/run/erased-23.check rename to tests/run-custom-args/erased/erased-23.check diff --git a/tests/run/erased-23.scala b/tests/run-custom-args/erased/erased-23.scala similarity index 100% rename from tests/run/erased-23.scala rename to tests/run-custom-args/erased/erased-23.scala diff --git a/tests/run/erased-25.check b/tests/run-custom-args/erased/erased-25.check similarity index 100% rename from tests/run/erased-25.check rename to tests/run-custom-args/erased/erased-25.check diff --git a/tests/run/erased-25.scala b/tests/run-custom-args/erased/erased-25.scala similarity index 100% rename from tests/run/erased-25.scala rename to tests/run-custom-args/erased/erased-25.scala diff --git a/tests/run/erased-26.check b/tests/run-custom-args/erased/erased-26.check similarity index 100% rename from tests/run/erased-26.check rename to tests/run-custom-args/erased/erased-26.check diff --git a/tests/run/erased-26.scala b/tests/run-custom-args/erased/erased-26.scala similarity index 100% rename from tests/run/erased-26.scala rename to tests/run-custom-args/erased/erased-26.scala diff --git a/tests/run/erased-27.check b/tests/run-custom-args/erased/erased-27.check similarity index 100% rename from tests/run/erased-27.check rename to tests/run-custom-args/erased/erased-27.check diff --git a/tests/run/erased-27.scala b/tests/run-custom-args/erased/erased-27.scala similarity index 100% rename from tests/run/erased-27.scala rename to tests/run-custom-args/erased/erased-27.scala diff --git a/tests/run/erased-28.check b/tests/run-custom-args/erased/erased-28.check similarity index 100% rename from tests/run/erased-28.check rename to tests/run-custom-args/erased/erased-28.check diff --git a/tests/run/erased-28.scala b/tests/run-custom-args/erased/erased-28.scala similarity index 100% rename from tests/run/erased-28.scala rename to tests/run-custom-args/erased/erased-28.scala diff --git a/tests/run/erased-3.check b/tests/run-custom-args/erased/erased-3.check similarity index 100% rename from tests/run/erased-3.check rename to tests/run-custom-args/erased/erased-3.check diff --git a/tests/run/erased-3.scala b/tests/run-custom-args/erased/erased-3.scala similarity index 100% rename from tests/run/erased-3.scala rename to tests/run-custom-args/erased/erased-3.scala diff --git a/tests/run/erased-4.check b/tests/run-custom-args/erased/erased-4.check similarity index 100% rename from tests/run/erased-4.check rename to tests/run-custom-args/erased/erased-4.check diff --git a/tests/run/erased-4.scala b/tests/run-custom-args/erased/erased-4.scala similarity index 100% rename from tests/run/erased-4.scala rename to tests/run-custom-args/erased/erased-4.scala diff --git a/tests/run/erased-5.check b/tests/run-custom-args/erased/erased-5.check similarity index 100% rename from tests/run/erased-5.check rename to tests/run-custom-args/erased/erased-5.check diff --git a/tests/run/erased-5.scala b/tests/run-custom-args/erased/erased-5.scala similarity index 100% rename from tests/run/erased-5.scala rename to tests/run-custom-args/erased/erased-5.scala diff --git a/tests/run/erased-6.check b/tests/run-custom-args/erased/erased-6.check similarity index 100% rename from tests/run/erased-6.check rename to tests/run-custom-args/erased/erased-6.check diff --git a/tests/run/erased-6.scala b/tests/run-custom-args/erased/erased-6.scala similarity index 100% rename from tests/run/erased-6.scala rename to tests/run-custom-args/erased/erased-6.scala diff --git a/tests/run/erased-7.check b/tests/run-custom-args/erased/erased-7.check similarity index 100% rename from tests/run/erased-7.check rename to tests/run-custom-args/erased/erased-7.check diff --git a/tests/run/erased-7.scala b/tests/run-custom-args/erased/erased-7.scala similarity index 100% rename from tests/run/erased-7.scala rename to tests/run-custom-args/erased/erased-7.scala diff --git a/tests/run/erased-8.check b/tests/run-custom-args/erased/erased-8.check similarity index 100% rename from tests/run/erased-8.check rename to tests/run-custom-args/erased/erased-8.check diff --git a/tests/run/erased-8.scala b/tests/run-custom-args/erased/erased-8.scala similarity index 100% rename from tests/run/erased-8.scala rename to tests/run-custom-args/erased/erased-8.scala diff --git a/tests/run/erased-9.check b/tests/run-custom-args/erased/erased-9.check similarity index 100% rename from tests/run/erased-9.check rename to tests/run-custom-args/erased/erased-9.check diff --git a/tests/run/erased-9.scala b/tests/run-custom-args/erased/erased-9.scala similarity index 100% rename from tests/run/erased-9.scala rename to tests/run-custom-args/erased/erased-9.scala diff --git a/tests/run/erased-frameless.check b/tests/run-custom-args/erased/erased-frameless.check similarity index 100% rename from tests/run/erased-frameless.check rename to tests/run-custom-args/erased/erased-frameless.check diff --git a/tests/run/erased-frameless.scala b/tests/run-custom-args/erased/erased-frameless.scala similarity index 100% rename from tests/run/erased-frameless.scala rename to tests/run-custom-args/erased/erased-frameless.scala diff --git a/tests/run/erased-machine-state.check b/tests/run-custom-args/erased/erased-machine-state.check similarity index 100% rename from tests/run/erased-machine-state.check rename to tests/run-custom-args/erased/erased-machine-state.check diff --git a/tests/run/erased-machine-state.scala b/tests/run-custom-args/erased/erased-machine-state.scala similarity index 100% rename from tests/run/erased-machine-state.scala rename to tests/run-custom-args/erased/erased-machine-state.scala diff --git a/tests/run/erased-poly-ref.check b/tests/run-custom-args/erased/erased-poly-ref.check similarity index 100% rename from tests/run/erased-poly-ref.check rename to tests/run-custom-args/erased/erased-poly-ref.check diff --git a/tests/run/erased-poly-ref.scala b/tests/run-custom-args/erased/erased-poly-ref.scala similarity index 100% rename from tests/run/erased-poly-ref.scala rename to tests/run-custom-args/erased/erased-poly-ref.scala diff --git a/tests/run/erased-select-prefix.check b/tests/run-custom-args/erased/erased-select-prefix.check similarity index 100% rename from tests/run/erased-select-prefix.check rename to tests/run-custom-args/erased/erased-select-prefix.check diff --git a/tests/run/erased-select-prefix.scala b/tests/run-custom-args/erased/erased-select-prefix.scala similarity index 100% rename from tests/run/erased-select-prefix.scala rename to tests/run-custom-args/erased/erased-select-prefix.scala diff --git a/tests/run/erased-value-class.check b/tests/run-custom-args/erased/erased-value-class.check similarity index 100% rename from tests/run/erased-value-class.check rename to tests/run-custom-args/erased/erased-value-class.check diff --git a/tests/run/erased-value-class.scala b/tests/run-custom-args/erased/erased-value-class.scala similarity index 100% rename from tests/run/erased-value-class.scala rename to tests/run-custom-args/erased/erased-value-class.scala diff --git a/tests/generic-java-signatures/erased.check b/tests/run-custom-args/erased/generic-java-signatures-erased.check similarity index 100% rename from tests/generic-java-signatures/erased.check rename to tests/run-custom-args/erased/generic-java-signatures-erased.check diff --git a/tests/generic-java-signatures/erased.scala b/tests/run-custom-args/erased/generic-java-signatures-erased.scala similarity index 100% rename from tests/generic-java-signatures/erased.scala rename to tests/run-custom-args/erased/generic-java-signatures-erased.scala diff --git a/tests/run/generic-tuples.scala b/tests/run-custom-args/generic-tuples.scala similarity index 100% rename from tests/run/generic-tuples.scala rename to tests/run-custom-args/generic-tuples.scala diff --git a/tests/run/lambda-serialization-others.scala b/tests/run-custom-args/lambda-serialization-others.scala similarity index 100% rename from tests/run/lambda-serialization-others.scala rename to tests/run-custom-args/lambda-serialization-others.scala diff --git a/tests/run/phantom-OnHList.scala b/tests/run-custom-args/phantom-OnHList.scala similarity index 100% rename from tests/run/phantom-OnHList.scala rename to tests/run-custom-args/phantom-OnHList.scala diff --git a/tests/run-macros/erased-arg-macro/1.scala b/tests/run-custom-args/run-macros-erased/macro-erased/1.scala similarity index 100% rename from tests/run-macros/erased-arg-macro/1.scala rename to tests/run-custom-args/run-macros-erased/macro-erased/1.scala diff --git a/tests/run-macros/erased-arg-macro/2.scala b/tests/run-custom-args/run-macros-erased/macro-erased/2.scala similarity index 100% rename from tests/run-macros/erased-arg-macro/2.scala rename to tests/run-custom-args/run-macros-erased/macro-erased/2.scala diff --git a/tests/run/toplevel-stale/A_1.scala b/tests/run-custom-args/toplevel-stale/A_1.scala similarity index 100% rename from tests/run/toplevel-stale/A_1.scala rename to tests/run-custom-args/toplevel-stale/A_1.scala diff --git a/tests/run/toplevel-stale/B_2.scala b/tests/run-custom-args/toplevel-stale/B_2.scala similarity index 100% rename from tests/run/toplevel-stale/B_2.scala rename to tests/run-custom-args/toplevel-stale/B_2.scala diff --git a/tests/run/toplevel-stale/Test_3.scala b/tests/run-custom-args/toplevel-stale/Test_3.scala similarity index 100% rename from tests/run/toplevel-stale/Test_3.scala rename to tests/run-custom-args/toplevel-stale/Test_3.scala diff --git a/tests/run/typeclass-derivation2.scala b/tests/run-custom-args/typeclass-derivation2.scala similarity index 100% rename from tests/run/typeclass-derivation2.scala rename to tests/run-custom-args/typeclass-derivation2.scala diff --git a/tests/run/typeclass-derivation2c.scala b/tests/run-custom-args/typeclass-derivation2c.scala similarity index 100% rename from tests/run/typeclass-derivation2c.scala rename to tests/run-custom-args/typeclass-derivation2c.scala diff --git a/tests/run/typelevel-defaultValue.scala b/tests/run-custom-args/typelevel-defaultValue.scala similarity index 100% rename from tests/run/typelevel-defaultValue.scala rename to tests/run-custom-args/typelevel-defaultValue.scala