Closed
Description
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