Skip to content

Wrong unimplemented members reported #21335

Closed
@Duhemm

Description

@Duhemm

Compiler version

3.4.2

Minimized code

trait Foo { def x(): Foo }
trait Bar extends Foo { override def x(): Bar }
class Z extends Bar

Output

-- Error: source.scala:3:6 -----------------------------------------------------
3 |class Z extends Bar
  |      ^
  |      class Z needs to be abstract, since:
  |      it has 2 unimplemented members.
  |      /** As seen from class Z, the missing signatures are as follows.
  |       *  For convenience, these are usable as stub implementations.
  |       */
  |        // Members declared in Bar
  |        override def x(): Bar = ???
  |
  |        // Members declared in Foo
  |        def x(): Foo = ???
1 error found

Expectation

I expected only a single unimplemented member to be reported, override def x(): Bar = ???, which is what I get with Scala 2.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions