Skip to content

Completions causing AssertionError with missing implicit parameter #13467

Closed
@tgodzik

Description

@tgodzik

Compiler version

3.1.0-RC1

Minimized code

object A {
  Array.concat@@
 }

when cursor at @@

Output

Exception in thread "pool-3-thread-1" java.lang.AssertionError: assertion failed: missing implicit parameter of type scala.reflect.ClassTag[A] after typer / Test / testOnly 6s
        at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
        at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:971)
        at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:771)
        at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:107)
        at dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:845)
        at dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:771)
        at dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:107)
        at dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3346)
        at dotty.tools.dotc.typer.Typer.addImplicitArgs$3(Typer.scala:3382)
        at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$2(Typer.scala:3462)
        at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:3660)
        at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:3873)
        at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3224)
        at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2883)
        at dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1056)
        at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1087)
        at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:771)
        at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:107)
        at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1137)
        at dotty.tools.dotc.typer.Implicits$ImplicitSearch.$anonfun$2(Implicits.scala:1432)
        at scala.collection.immutable.List.map(List.scala:246)
        at dotty.tools.dotc.typer.Implicits$ImplicitSearch.allImplicits(Implicits.scala:1432)
        at dotty.tools.dotc.interactive.Completion$Completer.implicitConversionTargets(Completion.scala:393)
        at dotty.tools.dotc.interactive.Completion$Completer.implicitConversionMemberCompletions(Completion.scala:280)
        at dotty.tools.dotc.interactive.Completion$Completer.selectionCompletions(Completion.scala:221)
        at dotty.tools.dotc.interactive.Completion$.computeCompletions(Completion.scala:115)
        at dotty.tools.dotc.interactive.Completion$.completions(Completion.scala:49)
        at scala.meta.internal.pc.CompletionProvider.completions(CompletionProvider.scala:39)
        at scala.meta.internal.pc.ScalaPresentationCompiler.complete$$anonfun$1(ScalaPresentationCompiler.scala:159)
        at scala.meta.internal.pc.CompilerAccess.withSharedCompiler(CompilerAccess.scala:137)
        at scala.meta.internal.pc.CompilerAccess.$anonfun$1(CompilerAccess.scala:87)
        at scala.meta.internal.pc.CompilerAccess.onCompilerJobQueue$$anonfun$1(CompilerAccess.scala:197)
        at scala.meta.internal.pc.CompilerJobQueue$Job.run(CompilerJobQueue.scala:139)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Expectation

Completion of:

concat[T: ClassTag](xss: Array[T]*): Array[T]

Similar thing happens with:

class A {
  1.until@@
}

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions