Skip to content

"sbt doc" AssertionError when extending Iterator[_] (scala3) #16290

Closed as not planned
@nigeleke

Description

@nigeleke

Compiler version

3.2.0 & 3.2.1

Minimized code

object Foo extends Iterator[String]:
  override def hasNext: Boolean = ???
  override def next(): String        = ???

Output

First few lines of stack trace:

[info] welcome to sbt 1.7.1 (Oracle Corporation Java 17.0.1)
[info] loading global plugins from ...\.sbt\1.0\plugins
[info] loading project definition from ...\docfailexample\project
[info] loading settings for project root from build.sbt ...
[info] set current project to docfailexample (in build file:/.../docfailexample/)
[success] Total time: 0 s, completed 5 Nov 2022, 2:50:24 pm
[info] compiling 1 Scala source to ...\docfailexample\target\scala-3.2.0\classes ...
[info] Main Scala API documentation to ...\docfailexample\target\scala-3.2.0\api...
[info] Skipping unused scalacOptions: -Werror
Problem parsing src\main\scala\Main.scala:<0..124>, documentation may not be generated.
java.lang.AssertionError: assertion failed
  | => rat scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11)
        at dotty.tools.dotc.util.Spans$Span$.start$extension(Spans.scala:45)
        at dotty.tools.dotc.util.SourcePosition.start(SourcePosition.scala:52)
        at scala.quoted.runtime.impl.QuotesImpl$reflect$PositionMethods$.start(QuotesImpl.scala:2813)
        at scala.quoted.runtime.impl.QuotesImpl$reflect$PositionMethods$.start(QuotesImpl.scala:2813)
        at dotty.tools.scaladoc.tasty.ClassLikeSupport.getParentsAsTreeSymbolTuples$$anonfun$1(ClassLikeSupport.scala:260)
        at scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:472)
        at scala.collection.Iterator$$anon$9.hasNext(Iterator.scala:576)
        at scala.collection.immutable.List.prependedAll(List.scala:152)
        at scala.collection.immutable.List$.from(List.scala:684)
        at scala.collection.immutable.List$.from(List.scala:681)
        at scala.collection.IterableOps$WithFilter.map(Iterable.scala:891)

Expectation

An AssertionError is generated. The task completes with warning, but no documentation is generated. The stack trace is unexpected. I would expect documentation would be generated & no AssertionError.

Notes

sbt 1.7.1

The error only occurs with extends Iterator[String] and not other extends, e.g. extends Iterable[String].

Original reported here: sbt/sbt#7065

Error also occurs with scaladoc command.

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