Skip to content

Overriding checks in refchecks and bridging in erasure get confused by self type #11935

Open
@retronym

Description

@retronym

reproduction steps

class C extends (Set[AnyRef] => Unit) { // error: class C needs to be abstract. Missing implementation for: def apply(v1: Set[_]): Unit // inherited from trait Function1
  self: (Set[_] => Unit) =>

  def apply(s: Set[AnyRef]): Unit = ()
}
abstract class C extends (Set[AnyRef] => Unit) {
  self: (Set[_] => Unit) =>

  def apply(s: Set[AnyRef]): Unit = () // No bridge method created!
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions