Skip to content

Path dependency on trait/class-parameters in class parent uses constructor argument instead of member #5636

Closed
@b-studios

Description

@b-studios

Using path-dependent types as type parameters fails. The following example

class A
trait Bar[X] {
  // same for `val foo: X = ???`
  def foo: X = ???
}
// same for `class Foo(...)...`
trait Foo(val a: A) extends Bar[a.type] {
  val same: a.type = foo
}

gives a type error:

[error] required: A(Foo.this.a)
[error]     val same: a.type = foo

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