-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Referring to a Scala 2 trait which has a companion object leads to a crash when a method with the same name also exists #9916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
An even simpler example with the same error: import com.twitter.finagle.liveness.FailureAccrualFactory
trait A {
def p: FailureAccrualFactory.Param
} Compilation fails on 0.26.0 and newer. |
The source of |
Don't know if it's relevant but the companion object for import com.twitter.finagle.filter._
import com.twitter.finagle.client._
trait A {
def p: NackAdmissionFilter.Param
def q: BackupRequestFilter.Param
} compiles successfully. |
Upon further inspection, I believe the issue may be caused by public "factory" methods defined with the same name as the trait/companion: |
@griggt I indeed tried to reproduce this way, but when defining this class in dotty, the error doesn't occur. So maybe it's in the scala 2 - dotty interop. |
Standalone reproducer: //src/dotty-issues/i9916/standalone/lib$ cat build.sbt
scalaVersion := "2.13.3"
name := "i9916-lib"
organization := "io.grigg"
version := "1.0"
//src/dotty-issues/i9916/standalone/lib$ cat src/main/scala/Lib.scala
package i9916
object Lib {
trait P
private object P
def P(x: Int): P = ???
}
//src/dotty-issues/i9916/standalone/lib$ sbt publishLocal //src/dotty-issues/i9916/standalone/test$ cat build.sbt
scalaVersion := "0.28.0-bin-20200928-09eaed7-NIGHTLY"
name := "i9916-test"
version := "0.1"
libraryDependencies += ("io.grigg" %% "i9916-lib" % "1.0").withDottyCompat(scalaVersion.value)
//src/dotty-issues/i9916/standalone/test$ cat src/main/scala/Test.scala
import i9916.Lib
trait X {
def p: Lib.P
}
//src/dotty-issues/i9916/standalone/test$ sbt compile Compiler output -- click to expand[info] Compiling 1 Scala source to /src/dotty-issues/i9916/standalone/test/target/scala-0.28/classes ...
Error while emitting Test.scala
[info] exception occurred while compiling /src/dotty-issues/i9916/standalone/test/src/main/scala/Test.scala
scala.MatchError: NoType (of class dotty.tools.dotc.core.Types$NoType$) while compiling /src/dotty-issues/i9916/standalone/test/src/main/scala/Test.scala
[error] ## Exception when compiling 1 sources to /src/dotty-issues/i9916/standalone/test/target/scala-0.28/classes
[error] scala.MatchError: NoType (of class dotty.tools.dotc.core.Types$NoType$)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceOfSelf$1(SymDenotations.scala:1007)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceModule(SymDenotations.scala:1009)
[error] dotty.tools.dotc.core.TypeErasure.dotty$tools$dotc$core$TypeErasure$$apply(TypeErasure.scala:504)
[error] dotty.tools.dotc.core.TypeErasure.eraseInfo(TypeErasure.scala:552)
[error] dotty.tools.dotc.core.TypeErasure$.transformInfo(TypeErasure.scala:202)
[error] dotty.tools.dotc.transform.Erasure.transform(Erasure.scala:82)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:803)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:119)
[error] dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:113)
[error] dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:106)
[error] dotty.tools.dotc.core.Symbols$.toDenot(Symbols.scala:487)
[error] dotty.tools.dotc.core.SymDenotations$ClassDenotation.registeredCompanion(SymDenotations.scala:2146)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.copySymDenotation(SymDenotations.scala:1484)
[error] dotty.tools.dotc.transform.Flatten.transformSym(Flatten.scala:35)
[error] dotty.tools.dotc.core.DenotTransformers$SymTransformer.transform(DenotTransformers.scala:70)
[error] dotty.tools.dotc.core.DenotTransformers$SymTransformer.transform$(DenotTransformers.scala:65)
[error] dotty.tools.dotc.transform.Flatten.transform(Flatten.scala:14)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:803)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:823)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:823)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] dotty.tools.dotc.core.Types$NamedType.computeDenot(Types.scala:2056)
[error] dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:2019)
[error] dotty.tools.dotc.core.Types$NamedType.info(Types.scala:2007)
[error] dotty.tools.backend.jvm.BCodeHelpers.dotty$tools$backend$jvm$BCodeHelpers$$typeToTypeKind(BCodeHelpers.scala:819)
[error] dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.toTypeKind(BCodeHelpers.scala:299)
[error] dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.toTypeKind$(BCodeHelpers.scala:210)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.toTypeKind(BCodeSkelBuilder.scala:62)
[error] dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.asmMethodType(BCodeHelpers.scala:283)
[error] dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.asmMethodType$(BCodeHelpers.scala:210)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.asmMethodType(BCodeSkelBuilder.scala:62)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:673)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:591)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen$$anonfun$1(BCodeSkelBuilder.scala:597)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.immutable.List.foreach(List.scala:333)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:597)
[error] dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:223)
[error] dotty.tools.backend.jvm.GenBCodePipeline$Worker1.visit(GenBCode.scala:229)
[error] dotty.tools.backend.jvm.GenBCodePipeline$Worker1.run(GenBCode.scala:194)
[error] dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:533)
[error] dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:499)
[error] dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:60)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:296)
[error] scala.collection.immutable.List.map(List.scala:246)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:297)
[error] dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:64)
[error] dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:185)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] dotty.tools.dotc.Run.runPhases$5(Run.scala:195)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:203)
[error] dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:63)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:210)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:147)
[error] dotty.tools.dotc.Run.compile(Run.scala:129)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
[error] dotty.tools.dotc.Driver.process(Driver.scala:195)
[error] dotty.tools.dotc.Main.process(Main.scala)
[error] xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)
[error] xsbt.CompilerInterface.run(CompilerInterface.java:41)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error] sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error] sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error] sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error] sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1765)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1738)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] sbt.Execute.work(Execute.scala:290)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] java.base/java.lang.Thread.run(Thread.java:834)
[error]
[error] scala.MatchError: NoType (of class dotty.tools.dotc.core.Types$NoType$)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceOfSelf$1(SymDenotations.scala:1007)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceModule(SymDenotations.scala:1009)
[error] at dotty.tools.dotc.core.TypeErasure.dotty$tools$dotc$core$TypeErasure$$apply(TypeErasure.scala:504)
[error] at dotty.tools.dotc.core.TypeErasure.eraseInfo(TypeErasure.scala:552)
[error] at dotty.tools.dotc.core.TypeErasure$.transformInfo(TypeErasure.scala:202)
[error] at dotty.tools.dotc.transform.Erasure.transform(Erasure.scala:82)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:803)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:119)
[error] at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:113)
[error] at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:106)
[error] at dotty.tools.dotc.core.Symbols$.toDenot(Symbols.scala:487)
[error] at dotty.tools.dotc.core.SymDenotations$ClassDenotation.registeredCompanion(SymDenotations.scala:2146)
[error] at dotty.tools.dotc.core.SymDenotations$SymDenotation.copySymDenotation(SymDenotations.scala:1484)
[error] at dotty.tools.dotc.transform.Flatten.transformSym(Flatten.scala:35)
[error] at dotty.tools.dotc.core.DenotTransformers$SymTransformer.transform(DenotTransformers.scala:70)
[error] at dotty.tools.dotc.core.DenotTransformers$SymTransformer.transform$(DenotTransformers.scala:65)
[error] at dotty.tools.dotc.transform.Flatten.transform(Flatten.scala:14)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:803)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:823)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:823)
[error] at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] at dotty.tools.dotc.core.Types$NamedType.computeDenot(Types.scala:2056)
[error] at dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:2019)
[error] at dotty.tools.dotc.core.Types$NamedType.info(Types.scala:2007)
[error] at dotty.tools.backend.jvm.BCodeHelpers.dotty$tools$backend$jvm$BCodeHelpers$$typeToTypeKind(BCodeHelpers.scala:819)
[error] at dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.toTypeKind(BCodeHelpers.scala:299)
[error] at dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.toTypeKind$(BCodeHelpers.scala:210)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.toTypeKind(BCodeSkelBuilder.scala:62)
[error] at dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.asmMethodType(BCodeHelpers.scala:283)
[error] at dotty.tools.backend.jvm.BCodeHelpers$BCInnerClassGen.asmMethodType$(BCodeHelpers.scala:210)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.asmMethodType(BCodeSkelBuilder.scala:62)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:673)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:591)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen$$anonfun$1(BCodeSkelBuilder.scala:597)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:597)
[error] at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:223)
[error] at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.visit(GenBCode.scala:229)
[error] at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.run(GenBCode.scala:194)
[error] at dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:533)
[error] at dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:499)
[error] at dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:60)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:296)
[error] at scala.collection.immutable.List.map(List.scala:246)
[error] at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:297)
[error] at dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:64)
[error] at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:185)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] at dotty.tools.dotc.Run.runPhases$5(Run.scala:195)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:203)
[error] at dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:63)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:210)
[error] at dotty.tools.dotc.Run.compileSources(Run.scala:147)
[error] at dotty.tools.dotc.Run.compile(Run.scala:129)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:195)
[error] at dotty.tools.dotc.Main.process(Main.scala)
[error] at xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)
[error] at xsbt.CompilerInterface.run(CompilerInterface.java:41)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] at sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error] at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error] at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error] at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error] at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error] at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error] at sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error] at sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error] at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error] at sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error] at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error] at sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error] at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error] at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error] at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error] at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error] at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error] at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1765)
[error] at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1738)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] at sbt.Execute.work(Execute.scala:290)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:834)
[error] (Compile / compileIncremental) scala.MatchError: NoType (of class dotty.tools.dotc.core.Types$NoType$) |
@DieBauer Yes, the issue only arises when the library is compiled with Scala 2. |
BTW the private part of object doesn't matter: object Lib {
trait P
object P
def P(x: Int): P = ???
} also fails when compiled with scala 2.13 and used in dotty. |
Just curious, does the Dotty testing framework support regression tests for this sort of issue, i.e. where the test depends on some code compiled by Scala 2.x? |
we use sbt scripted tests for this purpose: https://github.com/lampepfl/dotty/tree/master/sbt-dotty/sbt-test/scala2-compat (which is not ideal since they're slow to run, but it's better than nothing). |
This reverts commit e88c5b7. Fixes scala#9916
Test cases from scala#9976.
Test cases from scala#9976.
Fix #9916: Properly unpickle non-toplevel Scala 2 objects
Minimized code
Using the Finagle library I get a crash on a specific construct.
This works in dotty 0.24.0 (and Scala 2.13) but crashes in all recent versions.
Since it's occuring with a 3rd party library, I find it hard to create minimized code.
But it's a bad story for backward compatibility.
I have a Scastie including the sbt dependency: https://scastie.scala-lang.org/LylIH9JBTv6k0a655eG7aw
Output (click arrow to expand)
The text was updated successfully, but these errors were encountered: