diff --git a/compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala b/compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala index 9ed88e7d1ad6..95ebf439fa6d 100644 --- a/compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala +++ b/compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala @@ -292,7 +292,7 @@ trait BCodeSkelBuilder extends BCodeHelpers { emitAnnotations(cnode, claszSymbol.annotations ++ ssa) if (!isCZStaticModule && !isCZParcelable) { - val skipStaticForwarders = (claszSymbol.isInterface || claszSymbol.is(Module) || ctx.settings.XnoForwarders.value) + val skipStaticForwarders = (claszSymbol.is(Module) || ctx.settings.XnoForwarders.value) if (!skipStaticForwarders) { val lmoc = claszSymbol.companionModule // add static forwarders if there are no name conflicts; see bugs #363 and #1735 diff --git a/compiler/test/dotc/run-test-pickling.blacklist b/compiler/test/dotc/run-test-pickling.blacklist index aa76a78cf413..f12d011b8a53 100644 --- a/compiler/test/dotc/run-test-pickling.blacklist +++ b/compiler/test/dotc/run-test-pickling.blacklist @@ -1,3 +1,6 @@ +## Many of these tests fail because CompilationTests.pickling does not handle +## tests containing java files correctly + derive-generic.scala eff-dependent.scala enum-java @@ -38,3 +41,4 @@ i12753 t6138 t6138-2 i12656.scala +trait-static-forwarder diff --git a/project/Build.scala b/project/Build.scala index f90264178e0f..5286fb73b4ac 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -81,7 +81,7 @@ object Build { * set to 3.1.3. If it is going to be 3.1.0, it must be set to the latest * 3.0.x release. */ - val previousDottyVersion = "3.0.2" + val previousDottyVersion = "3.1.0-RC3" object CompatMode { final val BinaryCompatible = 0 diff --git a/project/MiMaFilters.scala b/project/MiMaFilters.scala index bf3272fece48..c7a71a2dd8dc 100644 --- a/project/MiMaFilters.scala +++ b/project/MiMaFilters.scala @@ -4,48 +4,5 @@ import com.typesafe.tools.mima.core.ProblemFilters._ object MiMaFilters { val Library: Seq[ProblemFilter] = Seq( - // Experimental API for saferExceptions - exclude[MissingClassProblem]("scala.CanThrow"), - exclude[MissingClassProblem]("scala.CanThrow$package"), - exclude[MissingClassProblem]("scala.CanThrow$package$"), - exclude[MissingClassProblem]("scala.unsafeExceptions"), - exclude[MissingClassProblem]("scala.unsafeExceptions$"), - exclude[MissingFieldProblem]("scala.runtime.stdLibPatches.language#experimental.saferExceptions"), - exclude[MissingClassProblem]("scala.runtime.stdLibPatches.language$experimental$saferExceptions$"), - - // New APIs that will be introduced in 3.1.0 - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule.Wildcard"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule.WildcardTypeTest"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.getJPath"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.name"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.path"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.getJPath"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.name"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#SourceFileMethods.path"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#UnapplyModule.apply"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#UnapplyModule.apply"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTestTypeTest"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTest"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTestMethods"), - exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#TypeReprMethods.isTupleN"), - - // TODO: Remove those filters after releasing 3.1.0: - exclude[DirectMissingMethodProblem]("scala.CanEqual.canEqualSeqs"), - exclude[DirectMissingMethodProblem]("scala.CanEqual.canEqualOptions"), - exclude[DirectMissingMethodProblem]("scala.CanEqual.canEqualOption"), - exclude[DirectMissingMethodProblem]("scala.CanEqual.canEqualEither"), - exclude[DirectMissingMethodProblem]("scala.Tuple.canEqualEmptyTuple"), - exclude[DirectMissingMethodProblem]("scala.Tuple.canEqualTuple"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule.WildcardTypeTest"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule.Wildcard"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTestTypeTest"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTest"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule.TypedOrTestMethods"), - exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#TypeReprMethods.isTupleN"), - exclude[MissingClassProblem]("scala.quoted.Quotes$reflectModule$TypedOrTestMethods"), - exclude[MissingClassProblem]("scala.quoted.Quotes$reflectModule$TypedOrTestModule"), - exclude[MissingClassProblem]("scala.quoted.Quotes$reflectModule$WildcardModule"), - exclude[MissingClassProblem]("scala.runtime.$throws$package"), - exclude[MissingClassProblem]("scala.runtime.$throws$package$"), ) } diff --git a/tests/run/trait-static-forwarder.check b/tests/run/trait-static-forwarder.check new file mode 100644 index 000000000000..d81cc0710eb6 --- /dev/null +++ b/tests/run/trait-static-forwarder.check @@ -0,0 +1 @@ +42 diff --git a/tests/run/trait-static-forwarder/Test.java b/tests/run/trait-static-forwarder/Test.java new file mode 100644 index 000000000000..89012c016209 --- /dev/null +++ b/tests/run/trait-static-forwarder/Test.java @@ -0,0 +1,5 @@ +public final class Test { + public static void main(String... args) { + System.out.println(T.foo()); + } +} diff --git a/tests/run/trait-static-forwarder/forwarders.scala b/tests/run/trait-static-forwarder/forwarders.scala new file mode 100644 index 000000000000..d6ee9a081d02 --- /dev/null +++ b/tests/run/trait-static-forwarder/forwarders.scala @@ -0,0 +1,5 @@ +trait T + +object T { + def foo = 42 +}