-
Notifications
You must be signed in to change notification settings - Fork 392
Open
Labels
Scala 2bugSomething that is making a piece of functionality unusableSomething that is making a piece of functionality unusable
Description
Error description
Presentation compiler error on freshly imported code, on re-imports and each file change. This can happen at random with 2.12.20 sources, when developing sbt plugin. The affected code is proprietary, the affected file is pretty long, but here's a similar code snippet. The offset in the exception points to the end of the last occurance of secrets: inherit
.
private def deployAndTestWorkflowJob(
envLower: String,
runTests: Boolean
): String = {
val deploy = s"""
| deploy-$envLower:
| needs: synthesize
| uses: some/reusable/workflow.yml@v1
| with:
| strategy: matrix
| stage: $envLower
| aws-regions: foo
| cdk-substage: app
| run-codedeploy: false
| secrets: inherit
|""".stripMargin
val test = s"""
| test-$envLower-with-infra:
| strategy:
| fail-fast: false
| matrix:
| regionConfigs: bar
| needs: [deploy-$envLower]
| uses: ./.github/workflows/run-tests.yml
| with:
| targetEnvironment: $envLower
| targetRegion: $${{ matrix.regionConfigs.targetRegion }}
| useGlobalEdge: $${{ matrix.regionConfigs.useGlobalEdge }}
| secrets: inherit
|
| test-$envLower:
| strategy:
| fail-fast: false
| matrix:
| regionConfigs: bar
| uses: ./.github/workflows/run-tests.yml
| with:
| targetEnvironment: $envLower
| targetRegion: $${{ matrix.regionConfigs.targetRegion }}
| useGlobalEdge: $${{ matrix.regionConfigs.useGlobalEdge }}
| secrets: inherit
|""".stripMargin
if (runTests) deploy + test else deploy
}
Short summary:
scala.MatchError: (of class scala.reflect.internal.Types$ErrorType$)
Error stacktrace:
scala.reflect.internal.Definitions$DefinitionsClass.fixupAsAnyTrait(Definitions.scala:287)
scala.reflect.internal.Definitions$DefinitionsClass.$anonfun$ComparableClass$1(Definitions.scala:411)
scala.reflect.internal.Symbols$Symbol.modifyInfo(Symbols.scala:1572)
scala.reflect.internal.Definitions$DefinitionsClass.ComparableClass$lzycompute(Definitions.scala:411)
scala.reflect.internal.Definitions$DefinitionsClass.ComparableClass(Definitions.scala:411)
scala.reflect.internal.Definitions$DefinitionsClass.hijackedCoreClasses$lzycompute(Definitions.scala:1449)
scala.reflect.internal.Definitions$DefinitionsClass.hijackedCoreClasses(Definitions.scala:1448)
scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1457)
scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1457)
scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1513)
scala.tools.nsc.Global$Run.<init>(Global.scala:1225)
scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1323)
scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1346)
scala.tools.nsc.interactive.Global.<init>(Global.scala:294)
scala.meta.internal.pc.MetalsGlobal.<init>(MetalsGlobal.scala:49)
scala.meta.internal.pc.ScalaPresentationCompiler.newCompiler(ScalaPresentationCompiler.scala:627)
scala.meta.internal.pc.ScalaPresentationCompiler.$anonfun$compilerAccess$1(ScalaPresentationCompiler.scala:147)
scala.meta.internal.pc.CompilerAccess.loadCompiler(CompilerAccess.scala:40)
scala.meta.internal.pc.CompilerAccess.retryWithCleanCompiler(CompilerAccess.scala:182)
scala.meta.internal.pc.CompilerAccess.$anonfun$withSharedCompiler$1(CompilerAccess.scala:155)
scala.Option.map(Option.scala:230)
scala.meta.internal.pc.CompilerAccess.withSharedCompiler(CompilerAccess.scala:154)
scala.meta.internal.pc.CompilerAccess.$anonfun$withInterruptableCompiler$1(CompilerAccess.scala:92)
scala.meta.internal.pc.CompilerAccess.$anonfun$onCompilerJobQueue$1(CompilerAccess.scala:209)
scala.meta.internal.pc.CompilerJobQueue$Job.run(CompilerJobQueue.scala:152)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
java.base/java.lang.Thread.run(Thread.java:1583)
Compiler options:
-deprecation -encoding UTF-8 -feature -unchecked -Ywarn-numeric-widen -Xlint:_,-unused -Ywarn-unused:_,-nowarn,-privates -Ywarn-dead-code -Ypartial-unification -Ybackend-parallelism 12 -language:_ -Xsource:3 -release 17 -target:jvm-1.8 -Wconf:cat=unused-nowarn:s -Xsource:3 -Xplugin:<HOME>/.cache/coursier/v1/https/repo1.maven.org/maven2/com/olegpy/better-monadic-for_2.12/0.3.1/better-monadic-for_2.12-0.3.1.jar -Xplugin:<HOME>/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/kind-projector_2.12.20/0.13.3/kind-projector_2.12.20-0.13.3.jar -Yrangepos -Xplugin-require:semanticdb
Expected behaviour:
The file compiles, as it does in sbt.
Additionally, metals produces the error on each file edit, spamming with the same error reports.
Operating system:
Linux
Java version:
21.0.8
Editor/extension:
VSCodium v1.100.3
Metals version:
1.6.2
Extra context or search terms:
Workspace information:
- Scala versions: 2.12.20
- Build tools: sbt
- Build servers: Bloop v2.0.13
- All build tools in workspace: Bloop; sbt
Metadata
Metadata
Assignees
Labels
Scala 2bugSomething that is making a piece of functionality unusableSomething that is making a piece of functionality unusable