scalameta / metals

Scala language server with rich IDE features 🚀

Home Page:https://scalameta.org/metals/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Suggestion crashes with a Conversion requiring a using parameter

ChenCMD opened this issue · comments

commented

Describe the bug

When I input a . after "" on line 5 in the minimized code, metals does not show any suggestion and instead reports a compiler error.

Minimized code

given Int = ???
given (using ev: Int): Conversion[String, Any] = ???

val test = {
  ""./* Trigger Suggest here */
  1
}

Error report

file:///C:/Users/scnme/Chen_Data/Programming/Scala/Test/src/main/scala/Main.scala
### java.lang.AssertionError: NoDenotation.owner

occurred in the presentation compiler.

action parameters:
offset: 88
uri: file:///C:/Users/scnme/Chen_Data/Programming/Scala/Test/src/main/scala/Main.scala
text:
```scala
given Int = ???
given (using ev: Int): Conversion[String, Any] = ???

val test = {
  "".@@
  ???
}

```



#### Error stacktrace:

```
dotty.tools.dotc.core.SymDenotations$NoDenotation$.owner(SymDenotations.scala:2603)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.candSucceedsGiven$1(Implicits.scala:1586)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.comesTooLate$1(Implicits.scala:1595)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.$anonfun$5(Implicits.scala:1600)
	scala.collection.immutable.List.filterNot(List.scala:515)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1600)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1686)
	dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:1093)
	dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:851)
	dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:120)
	dotty.tools.dotc.typer.Implicits.inferImplicitArg(Implicits.scala:917)
	dotty.tools.dotc.typer.Implicits.inferImplicitArg$(Implicits.scala:851)
	dotty.tools.dotc.typer.Typer.inferImplicitArg(Typer.scala:120)
	dotty.tools.dotc.typer.Typer.implicitArgs$1(Typer.scala:3817)
	dotty.tools.dotc.typer.Typer.addImplicitArgs$1(Typer.scala:3853)
	dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$1(Typer.scala:3932)
	dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:4132)
	dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4368)
	dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3679)
	dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1164)
	dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1200)
	dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:851)
	dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:120)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1275)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.$anonfun$6(Implicits.scala:1694)
	scala.collection.immutable.List.map(List.scala:246)
	dotty.tools.dotc.typer.Implicits$ImplicitSearch.allImplicits(Implicits.scala:1694)
	dotty.tools.dotc.interactive.Completion$Completer.implicitConversionTargets(Completion.scala:556)
	dotty.tools.dotc.interactive.Completion$Completer.implicitConversionMemberCompletions(Completion.scala:421)
	dotty.tools.dotc.interactive.Completion$Completer.selectionCompletions(Completion.scala:363)
	dotty.tools.dotc.interactive.Completion$.computeCompletions(Completion.scala:188)
	dotty.tools.dotc.interactive.Completion$.completions(Completion.scala:53)
	dotty.tools.pc.completions.Completions.completions(Completions.scala:128)
	dotty.tools.pc.completions.CompletionProvider.completions(CompletionProvider.scala:87)
	dotty.tools.pc.ScalaPresentationCompiler.complete$$anonfun$1(ScalaPresentationCompiler.scala:143)
```
#### Short summary: 

java.lang.AssertionError: NoDenotation.owner

Expected behavior

Suggestions (for a String value) should be listed.

Operating system

Windows

Editor/Extension

VS Code

Version of Metals

v1.2.2

Extra context or search terms

No response

Thanks for reporting!
Which Scala version are you using?

commented

Tried Scala 3.4.0 and 3.4.1-RC1.