you should see the following at the bottom of the file
/**
* {{{
* x match {
* case _ => "just $x in string without interpolation"
* }
* }}}
*/
final def asInstanceOf[T0]: T0 = ???
}
run sbt doc
Results in the following error:
java.lang.UnsupportedOperationException: Position.start on NoPosition
```
[info] Main Scala API documentation successful.
[error] java.lang.UnsupportedOperationException: Position.start on NoPosition
[error] at scala.reflect.internal.util.Position.fail(Position.scala:24)
[error] at scala.reflect.internal.util.UndefinedPosition.start(Position.scala:101)
[error] at scala.reflect.internal.util.UndefinedPosition.start(Position.scala:97)
[error] at scala.tools.nsc.ast.DocComments.expandInternal$1(DocComments.scala:368)
[error] at scala.tools.nsc.ast.DocComments.expandVariables(DocComments.scala:383)
[error] at scala.tools.nsc.ast.DocComments.expandVariables$(DocComments.scala:330)
[error] at scala.tools.nsc.Global.expandVariables(Global.scala:45)
[error] at scala.tools.nsc.ast.DocComments.expandedDocComment(DocComments.scala:112)
[error] at scala.tools.nsc.ast.DocComments.expandedDocComment$(DocComments.scala:108)
[error] at scala.tools.nsc.Global.expandedDocComment(Global.scala:45)
[error] at scala.tools.nsc.doc.model.CommentFactory.defineComment(CommentFactory.scala:80)
[error] at scala.tools.nsc.doc.model.CommentFactory.defineComment$(CommentFactory.scala:45)
[error] at scala.tools.nsc.doc.DocFactory$$anon$2.defineComment(DocFactory.scala:78)
[error] at scala.tools.nsc.doc.model.CommentFactory.$anonfun$comment$1(CommentFactory.scala:38)
[error] at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:469)
[error] at scala.tools.nsc.doc.model.CommentFactory.comment(CommentFactory.scala:38)
[error] at scala.tools.nsc.doc.model.CommentFactory.comment$(CommentFactory.scala:36)
[error] at scala.tools.nsc.doc.DocFactory$$anon$2.comment(DocFactory.scala:78)
[error] at scala.tools.nsc.doc.model.ModelFactory$NonTemplateMemberImpl.comment$lzycompute(ModelFactory.scala:527)
[error] at scala.tools.nsc.doc.model.ModelFactory$NonTemplateMemberImpl.comment(ModelFactory.scala:510)
[error] at scala.tools.nsc.doc.model.ModelFactory$MemberImpl.deprecation(ModelFactory.scala:187)
[error] at scala.tools.nsc.doc.model.Entity$.isDeprecated(Entity.scala:67)
[error] at scala.tools.nsc.doc.model.Entity$.$anonfun$EntityOrdering$1(Entity.scala:78)
[error] at scala.math.Ordering$$anon$1.compare(Ordering.scala:141)
[error] at scala.math.Ordering$$anon$1.compare(Ordering.scala:141)
[error] at java.base/java.util.TimSort.binarySort(TimSort.java:296)
[error] at java.base/java.util.TimSort.sort(TimSort.java:221)
[error] at java.base/java.util.Arrays.sort(Arrays.java:1441)
[error] at scala.collection.SeqOps.sorted(Seq.scala:728)
[error] at scala.collection.SeqOps.sorted$(Seq.scala:719)
[error] at scala.collection.immutable.List.scala$collection$immutable$StrictOptimizedSeqOps$$super$sorted(List.scala:79)
[error] at scala.collection.immutable.StrictOptimizedSeqOps.sorted(StrictOptimizedSeqOps.scala:78)
[error] at scala.collection.immutable.StrictOptimizedSeqOps.sorted$(StrictOptimizedSeqOps.scala:78)
[error] at scala.collection.immutable.List.sorted(List.scala:79)
[error] at scala.tools.nsc.doc.html.page.EntityPage.$init$(Entity.scala:175)
[error] at scala.tools.nsc.doc.html.page.EntityPage$$anon$1.(Entity.scala:1039)
[error] at scala.tools.nsc.doc.html.HtmlFactory.writeTemplate$1(HtmlFactory.scala:168)
[error] at scala.tools.nsc.doc.html.HtmlFactory.writeTemplates(HtmlFactory.scala:170)
[error] at scala.tools.nsc.doc.html.HtmlFactory.generate(HtmlFactory.scala:156)
[error] at scala.tools.nsc.doc.html.Doclet.generateImpl(Doclet.scala:30)
[error] at scala.tools.nsc.doc.doclet.Generator.generate(Generator.scala:35)
[error] at scala.tools.nsc.doc.DocFactory.generate$1(DocFactory.scala:139)
[error] at scala.tools.nsc.doc.DocFactory.document(DocFactory.scala:142)
[error] at scala.tools.xsbt.Runner.run(ScaladocBridge.scala:47)
[error] at scala.tools.xsbt.ScaladocBridge.run(ScaladocBridge.scala:25)
[error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:154)
[error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:133)
[error] at sbt.Doc$.$anonfun$scaladoc$1(Doc.scala:53)
[error] at sbt.Doc$.$anonfun$scaladoc$1$adapted(Doc.scala:41)
[error] at sbt.RawCompileLike$.$anonfun$prepare$1(RawCompileLike.scala:80)
[error] at sbt.RawCompileLike$.$anonfun$prepare$1$adapted(RawCompileLike.scala:73)
[error] at sbt.RawCompileLike$.$anonfun$cached$4(RawCompileLike.scala:64)
[error] at sbt.RawCompileLike$.$anonfun$cached$4$adapted(RawCompileLike.scala:62)
[error] at sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:220)
[error] at sbt.RawCompileLike$.$anonfun$cached$1(RawCompileLike.scala:69)
[error] at sbt.RawCompileLike$.$anonfun$cached$1$adapted(RawCompileLike.scala:53)
[error] at sbt.Defaults$.$anonfun$docTaskSettings$4(Defaults.scala:2164)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
[error] at sbt.Execute.work(Execute.scala:292)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:829)
```
Problem
Seems like I hit a bug which is (from a user perspective) very well hidden.
I am not sure but it looks like this problem is somehow connected to asInstanceOf, as soon as I rename the function the error disappears :shrug:
Reproduction steps
sbt doc
Results in the following error:
java.lang.UnsupportedOperationException: Position.start on NoPosition
``` [info] Main Scala API documentation successful. [error] java.lang.UnsupportedOperationException: Position.start on NoPosition [error] at scala.reflect.internal.util.Position.fail(Position.scala:24) [error] at scala.reflect.internal.util.UndefinedPosition.start(Position.scala:101) [error] at scala.reflect.internal.util.UndefinedPosition.start(Position.scala:97) [error] at scala.tools.nsc.ast.DocComments.expandInternal$1(DocComments.scala:368) [error] at scala.tools.nsc.ast.DocComments.expandVariables(DocComments.scala:383) [error] at scala.tools.nsc.ast.DocComments.expandVariables$(DocComments.scala:330) [error] at scala.tools.nsc.Global.expandVariables(Global.scala:45) [error] at scala.tools.nsc.ast.DocComments.expandedDocComment(DocComments.scala:112) [error] at scala.tools.nsc.ast.DocComments.expandedDocComment$(DocComments.scala:108) [error] at scala.tools.nsc.Global.expandedDocComment(Global.scala:45) [error] at scala.tools.nsc.doc.model.CommentFactory.defineComment(CommentFactory.scala:80) [error] at scala.tools.nsc.doc.model.CommentFactory.defineComment$(CommentFactory.scala:45) [error] at scala.tools.nsc.doc.DocFactory$$anon$2.defineComment(DocFactory.scala:78) [error] at scala.tools.nsc.doc.model.CommentFactory.$anonfun$comment$1(CommentFactory.scala:38) [error] at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:469) [error] at scala.tools.nsc.doc.model.CommentFactory.comment(CommentFactory.scala:38) [error] at scala.tools.nsc.doc.model.CommentFactory.comment$(CommentFactory.scala:36) [error] at scala.tools.nsc.doc.DocFactory$$anon$2.comment(DocFactory.scala:78) [error] at scala.tools.nsc.doc.model.ModelFactory$NonTemplateMemberImpl.comment$lzycompute(ModelFactory.scala:527) [error] at scala.tools.nsc.doc.model.ModelFactory$NonTemplateMemberImpl.comment(ModelFactory.scala:510) [error] at scala.tools.nsc.doc.model.ModelFactory$MemberImpl.deprecation(ModelFactory.scala:187) [error] at scala.tools.nsc.doc.model.Entity$.isDeprecated(Entity.scala:67) [error] at scala.tools.nsc.doc.model.Entity$.$anonfun$EntityOrdering$1(Entity.scala:78) [error] at scala.math.Ordering$$anon$1.compare(Ordering.scala:141) [error] at scala.math.Ordering$$anon$1.compare(Ordering.scala:141) [error] at java.base/java.util.TimSort.binarySort(TimSort.java:296) [error] at java.base/java.util.TimSort.sort(TimSort.java:221) [error] at java.base/java.util.Arrays.sort(Arrays.java:1441) [error] at scala.collection.SeqOps.sorted(Seq.scala:728) [error] at scala.collection.SeqOps.sorted$(Seq.scala:719) [error] at scala.collection.immutable.List.scala$collection$immutable$StrictOptimizedSeqOps$$super$sorted(List.scala:79) [error] at scala.collection.immutable.StrictOptimizedSeqOps.sorted(StrictOptimizedSeqOps.scala:78) [error] at scala.collection.immutable.StrictOptimizedSeqOps.sorted$(StrictOptimizedSeqOps.scala:78) [error] at scala.collection.immutable.List.sorted(List.scala:79) [error] at scala.tools.nsc.doc.html.page.EntityPage.$init$(Entity.scala:175) [error] at scala.tools.nsc.doc.html.page.EntityPage$$anon$1.Problem
Seems like I hit a bug which is (from a user perspective) very well hidden. I am not sure but it looks like this problem is somehow connected to asInstanceOf, as soon as I rename the function the error disappears :shrug: