Skip to content

Scala 3.4.0 can't load $ symbol classfile #19702

Closed
@rochala

Description

@rochala

Compiler version

3.4.0

Minimized code

file: Test.scala

//> using scala 3.4.0

package test

object $ {
  def test(): Int = 1
}

into:
scala-cli package --library Test.scala

into:

file: TestTest.scala

//> using jar "Test.jar"
//> using scala 3.4

@main def hello =
  test.$.test()

  println("?")

Output (click arrow to expand)

❯ scala-cli run TestTest.scala
Compiling project (Scala 3.4.0, JVM (17))
Error: Loading Scala 3 binary from /Users/jrochala/Projects/scala-cli-telemetry-test/Test.jar(test/$.class). It should have been loaded from `.tasty` file. This `.tasty` file is missing. Try cleaning the project to fix this issue.
Error compiling project (Scala 3.4.0, JVM (17))
Compilation failed

Additional info:

I'm not sure whether we should count this as regression as dollar is reserved for compiler-synthesized identifiers. User programs should not define identifiers which contain ‘$’ characters.

Even tho it affected ammonite:
https://github.com/com-lihaoyi/Ammonite/actions/runs/7914125865/job/21603222806?pr=1394#step:4:3164

Probably caused by changes in f9e8b36

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions