Skip to content

Byname implicits: could not find proxy for lazy var  #3585

Closed
@OlivierBlanvillain

Description

@OlivierBlanvillain

This is test case taken scala/scala#6050:

trait Foo[T]

object Foo {
  implicit def pair[T, U]
    (implicit
      fooT: => Foo[(T, U)],
      fooU: => Foo[(U, T)]
    ): Foo[(T, U)] = ???

  implicit def int: Foo[Int] = ???
  implicit def string: Foo[String] = ???
}

object Test {
  implicitly[Foo[(Int, String)]]
}
Exception in thread "main" java.lang.IllegalArgumentException: Could not find proxy for lazy var $_lazy_implicit_$3$lzy1: dotty.run
time.LazyRef in List(val $_lazy_implicit_$3$lzy1, val <local Test$>, module class Test$, module class <empty>, module class <root>), encl = package <empty>, owners = package <empty>, package <root>; enclosures = package <empty>, package <root>
        at dotty.tools.dotc.transform.LambdaLift$Lifter.searchIn$1(LambdaLift.scala:374)
        at dotty.tools.dotc.transform.LambdaLift$Lifter.proxy(LambdaLift.scala:387)
        at dotty.tools.dotc.transform.LambdaLift$Lifter.proxyRef(LambdaLift.scala:405)
        at dotty.tools.dotc.transform.LambdaLift$Lifter.$anonfun$addFreeArgs$1(LambdaLift.scala:411)
        at scala.collection.immutable.List.map(List.scala:283)
        at dotty.tools.dotc.transform.LambdaLift$Lifter.addFreeArgs(LambdaLift.scala:411)
        at dotty.tools.dotc.transform.LambdaLift.transformApply(LambdaLift.scala:532)
        at dotty.tools.dotc.transform.LambdaLift.transformApply(LambdaLift.scala:486)

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