Skip to content

Unexpected tree in -Xsource:3 vararg splice #12415

Closed
scala/scala
#9669
@SrTobi

Description

@SrTobi

reproduction steps

When using -Xsource:3 with the following code:

object Test {
  val a = Seq(1, 2)
  println(Seq((a ++ a)*))
}

problem

The compiler fails with:

scalac: 
  unexpected tree: class scala.tools.nsc.ast.Trees$Parens
Parens(List(a.$plus$plus(a)))
     while compiling: /home/tobi/workspace/test-projects/plain-scala-proj/src/main/scala/Test.scala
        during phase: typer
     library version: version 2.13.6
    compiler version: version 2.13.6
  reconstructed args: -classpath /home/tobi/workspace/test-projects/plain-scala-proj/target/scala-2.13/classes:/home/tobi/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar:/home/tobi/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.6/scala-reflect-2.13.6.jar:/home/tobi/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalactic/scalactic_2.13/3.2.5/scalactic_2.13-3.2.5.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-reflect-sources.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-reflect.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib-jdk7-sources.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib-jdk7.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib-jdk8-sources.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib-jdk8.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib-sources.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-stdlib.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-test-sources.jar:/home/tobi/workspace/test-projects/plain-scala-proj/lib/kotlin-test.jar -Xsource:3.0.0

  last tree to typer: Parens
       tree position: line 5 of /home/tobi/workspace/test-projects/plain-scala-proj/src/main/scala/Test.scala
              symbol: null
           call site: object Test in package <empty>

== Source file context for tree position ==

     2 
     3 object Test {
     4   val a = Seq(1, 2)
     5   println(Seq((a ++ a)*))
     6 }
     7 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions