Skip to content

Nested class shadowing in "override" position #93

@eed3si9n

Description

@eed3si9n

Aloha. This is a friendly note that Community Builds has discovered a potential issue you might run into when migrating to Dotty / Scala 3.x.

Ref scala/scala#8705 / scala/bug#8353

steps

Compile using the latest 2.13.x nightly (https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-community-build/3267/) or 2.13.2 when it comes out.

sbt> set ThisBuild/resolvers += "scala-integration" at "https://scala-ci.typesafe.com/artifactory/scala-integration/"
sbt> ++2.13.2-bin-53ba87a!
sbt> compile

problem

Community Builds discovered there are some nested classes in "override" position.

[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala:477:19: shadowing a nested class of a parent is deprecated but trait Accessor shadows trait Accessor defined in trait ParIterableLike; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala:481:19: shadowing a nested class of a parent is deprecated but trait Transformer shadows trait Transformer defined in trait ParIterableLike; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala:589:25: shadowing a nested class of a parent is deprecated but class Zip shadows class Zip defined in trait ParIterableLike; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala:566:9: shadowing a nested class of a parent is deprecated but class Taken shadows class Taken defined in trait IterableSplitter; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala:575:9: shadowing a nested class of a parent is deprecated but class Mapped shadows class Mapped defined in trait IterableSplitter; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala:583:9: shadowing a nested class of a parent is deprecated but class Appended shadows class Appended defined in trait IterableSplitter; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala:614:9: shadowing a nested class of a parent is deprecated but class Zipped shadows class Zipped defined in trait IterableSplitter; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala:622:9: shadowing a nested class of a parent is deprecated but class ZippedAll shadows class ZippedAll defined in trait IterableSplitter; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/Tasks.scala:142:9: shadowing a nested class of a parent is deprecated but trait WrappedTask shadows trait WrappedTask defined in trait Tasks; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/Tasks.scala:240:9: shadowing a nested class of a parent is deprecated but trait WrappedTask shadows trait WrappedTask defined in trait Tasks; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/Tasks.scala:303:9: shadowing a nested class of a parent is deprecated but class WrappedTask shadows trait WrappedTask defined in trait AdaptiveWorkStealingTasks; rename the class to something else
[scala-parallel-collections] [warn] /home/jenkins/workspace/scala-2.13.x-integrate-community-build/target-0.9.16/project-builds/scala-parallel-collections-f822b1c94478b1fe17bb3e1abb55c379b979315e/core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala:655:9: shadowing a nested class of a parent is deprecated but class Map shadows class Map defined in trait ParIterableLike; rename the class to something else

expectation

Nothing for now, but consider renaming them when you can.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions