Skip to content

Regression: class with no object shadows outer object #11853

Closed
@japgolly

Description

@japgolly

Compiler version

3.0.0-RC1

Minimized code

sealed trait Children
object Children {
  sealed trait None extends Children
  sealed trait Varargs extends Children
}

sealed abstract class CtorType {
  type ChildrenType <: Children
}

object CtorType {
  final class X() extends CtorType {
    override type ChildrenType = Children.None
  }

  final class Children() extends CtorType {
    override type ChildrenType = Children.Varargs
  }
}

Output

-- Error: x.scala:13:33 --------------------------------------------------------
13 |    override type ChildrenType = Children.None
   |                                 ^^^^^^^^
   |        Reference to creator proxy for class Children in object CtorType
   |        shadows outer reference to object Children
-- Error: x.scala:17:33 --------------------------------------------------------
17 |    override type ChildrenType = Children.Varargs
   |                                 ^^^^^^^^
   |        Reference to creator proxy for class Children in object CtorType
   |        shadows outer reference to object Children
2 errors found

Expectation

It should compiles as it does in Scala 2.x.

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