Skip to content

AssertionError: assertion failed: end of NoSpan #24020

@based-us3r

Description

@based-us3r

Compiler version

OpenJDK 21.0.8_p9
Scala 3.7.2

Minimized code

type Args = Tuple2[String, scala.concurrent.duration.Duration]

trait Command:
  def execute(parsedArgs: Args): Unit
  def execute(): Unit = ???
end Command

class TestCommand extends Command:
  override def execute(parsedArgs: Args): Unit = ???
end TestCommand

TestCommand().execute.apply(???, ???)

Output (click arrow to expand)

presentation compiler configuration:
Scala version: 3.7.3-bin-nonbootstrapped
Options:
-unchecked -feature -language:existentials -language:higherKinds -language:implicitConversions -language:postfixOps -deprecation -Xmax-inlines 256 -encoding utf8 -Xsemanticdb -sourceroot <WORKSPACE> -Ywith-best-effort-tasty

#### Error stacktrace:

scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
	dotty.tools.dotc.util.Spans$Span$.end$extension(Spans.scala:51)
	dotty.tools.dotc.typer.Migrations.dotty$tools$dotc$typer$Migrations$$checkParentheses(Migrations.scala:166)
	dotty.tools.dotc.typer.Migrations.implicitParams(Migrations.scala:137)
	dotty.tools.dotc.typer.Migrations.implicitParams$(Migrations.scala:30)
	dotty.tools.dotc.typer.Typer.implicitParams(Typer.scala:155)
	dotty.tools.dotc.typer.Typer.adaptToArgs$1(Typer.scala:4314)
	dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4993)
	dotty.tools.dotc.typer.Typer.adapt(Typer.scala:4216)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1191)
	dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1222)
	dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:866)
	dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:155)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1298)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1468)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1638)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1759)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit$$anonfun$3(Implicits.scala:1774)
	dotty.tools.dotc.typer.Implicits$SearchResult.recoverWith(Implicits.scala:430)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1760)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1801)
	dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:1115)
	dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:866)
	dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:155)
	dotty.tools.dotc.typer.Implicits.inferView(Implicits.scala:906)
	dotty.tools.dotc.typer.Implicits.inferView$(Implicits.scala:866)
	dotty.tools.dotc.typer.Typer.inferView(Typer.scala:155)
	dotty.tools.dotc.typer.Implicits.viewExists(Implicits.scala:879)
	dotty.tools.dotc.typer.Implicits.viewExists$(Implicits.scala:866)
	dotty.tools.dotc.typer.Typer.viewExists(Typer.scala:155)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.isCompatible(ProtoTypes.scala:45)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.isCompatible$(ProtoTypes.scala:32)
	dotty.tools.dotc.typer.Typer.isCompatible(Typer.scala:155)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.testCompat$1(ProtoTypes.scala:62)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.normalizedCompatible(ProtoTypes.scala:76)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.normalizedCompatible$(ProtoTypes.scala:32)
	dotty.tools.dotc.typer.Typer.normalizedCompatible(Typer.scala:155)
	dotty.tools.dotc.typer.ProtoTypes$SelectionProto.qualifies$1(ProtoTypes.scala:250)
	dotty.tools.dotc.typer.ProtoTypes$SelectionProto.isMatchedBy$$anonfun$1(ProtoTypes.scala:253)
	dotty.tools.dotc.core.Denotations$SingleDenotation.hasAltWith(Denotations.scala:644)
	dotty.tools.dotc.typer.ProtoTypes$SelectionProto.isMatchedBy(ProtoTypes.scala:253)
	dotty.tools.dotc.core.TypeComparer.isMatchedByProto(TypeComparer.scala:2312)
	dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:355)
	dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1610)
	dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:225)
	dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:235)
	dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:143)
	dotty.tools.dotc.core.TypeComparer$.topLevelSubType(TypeComparer.scala:3425)
	dotty.tools.dotc.core.Types$Type.$less$colon$less(Types.scala:1183)
	dotty.tools.dotc.core.Types$Type.relaxed_$less$colon$less(Types.scala:1215)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.isCompatible(ProtoTypes.scala:45)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.isCompatible$(ProtoTypes.scala:32)
	dotty.tools.dotc.typer.Typer.isCompatible(Typer.scala:155)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.testCompat$1(ProtoTypes.scala:62)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.normalizedCompatible(ProtoTypes.scala:77)
	dotty.tools.dotc.typer.ProtoTypes$Compatibility.normalizedCompatible$(ProtoTypes.scala:32)
	dotty.tools.dotc.typer.Typer.normalizedCompatible(Typer.scala:155)
	dotty.tools.dotc.typer.Applications.$anonfun$35(Applications.scala:2470)
	dotty.tools.dotc.core.Decorators$.loop$2(Decorators.scala:135)
	dotty.tools.dotc.core.Decorators$.filterConserve(Decorators.scala:149)
	dotty.tools.dotc.typer.Applications.resolveOverloaded1(Applications.scala:2470)
	dotty.tools.dotc.typer.Applications.resolve$1(Applications.scala:2269)
	dotty.tools.dotc.typer.Applications.resolveOverloaded(Applications.scala:2308)
	dotty.tools.dotc.typer.Applications.resolveOverloaded$(Applications.scala:470)
	dotty.tools.dotc.typer.Typer.resolveOverloaded(Typer.scala:155)
	dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:4257)
	dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4948)
	dotty.tools.dotc.typer.Typer.adapt(Typer.scala:4216)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3841)
	dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3952)
	dotty.tools.dotc.typer.Typer.typeSelectOnTerm$1(Typer.scala:1058)
	dotty.tools.dotc.typer.Typer.typedSelect(Typer.scala:1112)
	dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3646)
	dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3758)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3841)
	dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3952)
	dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1109)
	dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1336)
	dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:470)
	dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:155)
	dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3671)
	dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3759)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3841)
	dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3890)
	dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3909)
	dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:3328)
	dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3659)
	dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3663)
	dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3758)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3841)
	dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3863)
	dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3909)
	dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:3461)
	dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3705)
	dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3759)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3836)
	dotty.tools.dotc.typer.Typer.typed(Typer.scala:3841)
	dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3952)
	dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$1(TyperPhase.scala:47)
	scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	dotty.tools.dotc.core.Phases$Phase.monitor(Phases.scala:510)
	dotty.tools.dotc.typer.TyperPhase.typeCheck(TyperPhase.scala:53)
	dotty.tools.dotc.typer.TyperPhase.$anonfun$4(TyperPhase.scala:99)
	scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:479)
	scala.collection.Iterator$$anon$9.hasNext(Iterator.scala:583)
	scala.collection.immutable.List.prependedAll(List.scala:152)
	scala.collection.immutable.List$.from(List.scala:685)
	scala.collection.immutable.List$.from(List.scala:682)
	scala.collection.IterableOps$WithFilter.map(Iterable.scala:900)
	dotty.tools.dotc.typer.TyperPhase.runOn(TyperPhase.scala:98)
	dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:380)
	scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1324)
	dotty.tools.dotc.Run.runPhases$1(Run.scala:373)
	dotty.tools.dotc.Run.compileUnits$$anonfun$1$$anonfun$2(Run.scala:420)
	dotty.tools.dotc.Run.compileUnits$$anonfun$1$$anonfun$adapted$1(Run.scala:420)
	scala.Function0.apply$mcV$sp(Function0.scala:42)
	dotty.tools.dotc.Run.showProgress(Run.scala:482)
	dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:420)
	dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:432)
	dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:69)
	dotty.tools.dotc.Run.compileUnits(Run.scala:432)
	dotty.tools.dotc.Run.compileSources(Run.scala:319)
	dotty.tools.dotc.interactive.InteractiveDriver.run(InteractiveDriver.scala:161)
	dotty.tools.pc.CachingDriver.run(CachingDriver.scala:45)
	dotty.tools.pc.WithCompilationUnit.<init>(WithCompilationUnit.scala:31)
	dotty.tools.pc.SimpleCollector.<init>(PcCollector.scala:357)
	dotty.tools.pc.PcSemanticTokensProvider$Collector$.<init>(PcSemanticTokensProvider.scala:63)
	dotty.tools.pc.PcSemanticTokensProvider.Collector$lzyINIT1(PcSemanticTokensProvider.scala:63)
	dotty.tools.pc.PcSemanticTokensProvider.Collector(PcSemanticTokensProvider.scala:63)
	dotty.tools.pc.PcSemanticTokensProvider.provide(PcSemanticTokensProvider.scala:88)
	dotty.tools.pc.ScalaPresentationCompiler.semanticTokens$$anonfun$1(ScalaPresentationCompiler.scala:158)
#### Short summary: 

java.lang.AssertionError: assertion failed: end of NoSpan

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