Skip to content

Scaladoc fatal error when reading inconsistent TASTy/ClassFiles #22447

Open
@WojciechMazur

Description

@WojciechMazur

https://contributors.scala-lang.org/t/scala-3-6-3-release-thread/6958/5

Compiler version

All Scala version

Reproductions steps

  1. Define project 1 (bson)
// bson/build.sbt 
scalaVersion := "3.4.2"

Compile / packageBin / mappings ~= {
  _.filter { case (_, path) => !path.startsWith("com/github/ghik") }
}
Compile / packageSrc / mappings ~= {
  _.filter { case (_, path) => path != "silent.scala" }
}
// bson/src/main/scala/Handlers.scala 
package bson

trait BSONWriter[T]
trait DefaultHandlers:
  @com.github.ghik.silencer.silent
  given collectionWriter[T, Repr <: Iterable[T]]: BSONWriter[Repr] = ???
  
  
object Handlers extends DefaultHandlers
// bson/src/main/scala/silent.scala
package com.github.ghik.silencer

class silent(s: String = "") extends scala.annotation.StaticAnnotation {
  val _ = s
}
  1. Build the jar using sbt
cd bson 
sbt packageBin
  1. Use the created jar in other project
// test.scala
trait Foo extends bson.DefaultHandlers
scala doc -f test.scala --jar bson/target/scala-3.4.2/bson_3-0.1.0-SNAPSHOT.jar

Output

-- Error: src/main/scala/Handlers.scala:5:2 -------------------------------------------------------------------------------------------------------------------------------------------------
undefined: new com.github.ghik.silencer.silent # -1: TermRef(TypeRef(TermRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object com),object github),object ghik),object silencer),silent),<init>) at readTasty

Expectation

If possible unknown annotations should be skipped when reading TASTy

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions