diff --git a/compiler/src/dotty/tools/backend/sjs/JSCodeGen.scala b/compiler/src/dotty/tools/backend/sjs/JSCodeGen.scala index deaad2d51dbc..be0a25e210b1 100644 --- a/compiler/src/dotty/tools/backend/sjs/JSCodeGen.scala +++ b/compiler/src/dotty/tools/backend/sjs/JSCodeGen.scala @@ -1557,7 +1557,7 @@ class JSCodeGen()(using genCtx: Context) { def jsParams = params.map(genParamDef(_)) - if (primitives.isPrimitive(sym)) { + if (primitives.isPrimitive(sym) && sym != defn.newArrayMethod) { None } else if (sym.is(Deferred) && currentClassSym.isNonNativeJSClass) { // scala-js/#4409: Do not emit abstract methods in non-native JS classes diff --git a/sbt-test/scalajs/backward-compat/build.sbt b/sbt-test/scalajs/backward-compat/build.sbt new file mode 100644 index 000000000000..3f82b8529b16 --- /dev/null +++ b/sbt-test/scalajs/backward-compat/build.sbt @@ -0,0 +1,5 @@ +enablePlugins(ScalaJSPlugin) + +scalaVersion := sys.props("plugin.scalaVersion") + +libraryDependencies += "org.scalameta" %%% "munit" % "1.1.0" diff --git a/sbt-test/scalajs/backward-compat/project/plugins.sbt b/sbt-test/scalajs/backward-compat/project/plugins.sbt new file mode 100644 index 000000000000..b30c6e8c5ec8 --- /dev/null +++ b/sbt-test/scalajs/backward-compat/project/plugins.sbt @@ -0,0 +1,2 @@ + +addSbtPlugin("org.scala-js" % "sbt-scalajs" % sys.props("plugin.scalaJSVersion")) diff --git a/sbt-test/scalajs/backward-compat/src/test/scala/NewArrayIssue22794Test.scala b/sbt-test/scalajs/backward-compat/src/test/scala/NewArrayIssue22794Test.scala new file mode 100644 index 000000000000..0385b537bfe4 --- /dev/null +++ b/sbt-test/scalajs/backward-compat/src/test/scala/NewArrayIssue22794Test.scala @@ -0,0 +1,5 @@ +class NewArrayIssue22794Test extends munit.FunSuite { + test("foo") { + assert(2 + 2 == 4) + } +} diff --git a/sbt-test/scalajs/backward-compat/test b/sbt-test/scalajs/backward-compat/test new file mode 100644 index 000000000000..dfffb838b4b3 --- /dev/null +++ b/sbt-test/scalajs/backward-compat/test @@ -0,0 +1 @@ +> test