"A constructor or static initializer must have a void result type" error

Hitting an error when trying to run Scala.js test:

sbt:livechart> test
[info] Fast optimizing /home/user/Dev/Scala/linkchecker-web/target/scala-3.3.0/livechart-test-fastopt
[error] stack trace is suppressed; run last Test / fastLinkJS for the full output
[error] (Test / fastLinkJS) java.lang.IllegalArgumentException: A constructor or static initializer must have a void result type
[error] Total time: 1 s, completed Jul 18, 2023, 11:50:58 AM
sbt:livechart> last Test / fastLinkJS
[info] Fast optimizing /home/user/Dev/Scala/linkchecker-web/target/scala-3.3.0/livechart-test-fastopt
[debug] Linker: Compute reachability: 160754 us
[debug] Linker: 195535 us
[error] java.lang.IllegalArgumentException: A constructor or static initializer must have a void result type
[error]         at org.scalajs.ir.Names$MethodName$.apply(Names.scala:405)
[error]         at org.scalajs.ir.Names$MethodName$.reflectiveProxy(Names.scala:436)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.proxyCandidates$lzycompute(Analyzer.scala:831)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.proxyCandidates(Analyzer.scala:821)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.findProxyCandidates(Analyzer.scala:819)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.findFirstNonEmptyCandidates$1(Analyzer.scala:772)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.findReflectiveTarget(Analyzer.scala:782)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.$anonfun$tryLookupReflProxyMethod$1(Analyzer.scala:746)
[error]         at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error]         at scala.Option.fold(Option.scala:251)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.tryLookupReflProxyMethod(Analyzer.scala:747)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.callMethodResolved(Analyzer.scala:1122)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.$anonfun$instantiated$4(Analyzer.scala:1020)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.$anonfun$instantiated$4$adapted(Analyzer.scala:1017)
[error]         at scala.collection.immutable.List.foreach(List.scala:431)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.$anonfun$instantiated$3(Analyzer.scala:1017)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.$anonfun$instantiated$3$adapted(Analyzer.scala:1016)
[error]         at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:985)
[error]         at scala.collection.immutable.List.foreach(List.scala:431)
[error]         at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:984)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.instantiated(Analyzer.scala:1016)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$3(Analyzer.scala:1331)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$3$adapted(Analyzer.scala:1320)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$lookupClass$1(Analyzer.scala:311)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$lookupClass$1$adapted(Analyzer.scala:307)
[error]         at org.scalajs.linker.analyzer.Analyzer.org$scalajs$linker$analyzer$Analyzer$$lookupClassForLinking(Analyzer.scala:332)
[error]         at org.scalajs.linker.analyzer.Analyzer.org$scalajs$linker$analyzer$Analyzer$$lookupClass(Analyzer.scala:307)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$2(Analyzer.scala:1320)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$2$adapted(Analyzer.scala:1319)
[error]         at scala.collection.immutable.List.foreach(List.scala:431)
[error]         at org.scalajs.linker.analyzer.Analyzer.org$scalajs$linker$analyzer$Analyzer$$followReachabilityInfo(Analyzer.scala:1319)
[error]         at org.scalajs.linker.analyzer.Analyzer$MethodInfo.doReach(Analyzer.scala:1284)
[error]         at org.scalajs.linker.analyzer.Analyzer$MethodInfo.reachStatic(Analyzer.scala:1241)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.callMethodStatically(Analyzer.scala:1140)
[error]         at org.scalajs.linker.analyzer.Analyzer$ClassInfo.accessModule(Analyzer.scala:981)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$3(Analyzer.scala:1326)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$followReachabilityInfo$3$adapted(Analyzer.scala:1320)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$lookupClass$1(Analyzer.scala:311)
[error]         at org.scalajs.linker.analyzer.Analyzer.$anonfun$lookupClass$1$adapted(Analyzer.scala:307)
[error]         at org.scalajs.linker.analyzer.Analyzer$WorkQueue.$anonfun$enqueue$2(Analyzer.scala:1509)
[error]         at org.scalajs.linker.analyzer.Analyzer$WorkQueue.tryDoWork(Analyzer.scala:1528)
[error]         at org.scalajs.linker.analyzer.Analyzer$WorkQueue.$anonfun$enqueue$1(Analyzer.scala:1510)
[error]         at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
[error]         at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
[error]         at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
[error]         at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[error]         at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
[error]         at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[error]         at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[error] (Test / fastLinkJS) java.lang.IllegalArgumentException: A constructor or static initializer must have a void result type

I’m not quite sure what’s the reason behind this error. Any ideas?

Scala.js update from 1.13.1 to 1.13.2 changed the error to a more clear undefined reference error which I then fixed.

1 Like