scala/scala3

Scaladoc fails to re-substitute macros for inherited members

Open

#10.823 geöffnet am 16. Dez. 2020

Auf GitHub ansehen
 (7 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Scala (1.159 Forks)batch import
area:doctoolgood first issueitype:bug

Repository-Metriken

Stars
 (6.247 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 18T 14h) (133 gemergte PRs in 30 T)

Beschreibung

Minimized code

/** @define macro Super */
abstract class Super {
  /** $macro */
  def inherited: Int = 5
  /** $macro */
  def implemented: Unit
  /** $macro */
  def overridden: String = "test"
}
/**
 * @define name default
 * @define dummy dummy
 */
trait A[T] {
  /** List $name */
  def list(): List[T]
  /** Gets the $name with the given $dummy */
  def get(id: String): Option[T] = None
}
/** @define dummy id */
trait B extends A[String]
/**
 * @define macro Sub
 * @define name banana
 */
class Sub extends Super with B {
  def list(): List[String] = List.empty
  def implemented: Unit = ()
  override def overridden: String = "overridden test"
}

build.sbt

name := "scala-doc-tests"
version := "0.1.0"
scalaVersion := "3.0.0-M2"

Run:

mkdir docs
sbt doc

Expectation

The resulting documentation has the same problems as described https://github.com/scala/bug/issues/9785.

Contributor Guide