Skip to content

Regression in 3.7: "cannot resolve reference to type" when calling dependent method #23530

Open
@smarter

Description

@smarter

Compiler version

>= 3.7.0 (issue introduced in 26ecda540b9 which was reverted from 3.6.4 but re-integrated in 3.7)

Minimized code

//> using scala 3.7.2-RC1

trait TestContainer:
  trait TestPath:
    type AbsMember

  extension (path: TestPath)
    infix def ext(color: path.AbsMember): Unit = ???
    infix def ext(other: Int): Unit = ???

object Repro:
  val dc2: TestContainer = ???
  import dc2.TestPath

  def transition(path: TestPath)(using DummyImplicit): TestPath = ???

  def test: Unit =
    val di: TestPath = ???
    val z1 = transition(di).ext(1) // error

Output

[error] ./tests/pos/resolve-dep.scala:19:24
[error] Cannot resolve reference to type path.type.AbsMember.
[error] The classfile defining the type might be missing from the classpath.
[error]     val z1 = transition(di).ext(1) // error
[error]                        ^

Expectation

The code should compile as it used to.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions