Skip to content

Protected top-level definition can no longer be referenced in other file #18124

Closed
@WojciechMazur

Description

@WojciechMazur

Regression found in the Open Community Build in:

  • tinkoff/oolong - build logs - reproduction below

Compiler version

3.3.2-RC1-bin-20230629-90c59bd-NIGHTLY
Bisect points to 7c728bb from #18057

Minimized code

// definition.scala
package oolong.bson

trait BsonValue
protected def merge(
    base: BsonValue,
    patch: BsonValue,
    arraySubvalues: Boolean = false
): BsonValue = ???
// usage.scala
package oolong.bson

extension (bv: BsonValue)
  def :+(other: BsonValue): BsonValue = merge(other, bv, false)

Output

-- [E173] Reference Error: /Users/wmazur/projects/dotty/bisect/usage.scala:5:40 
5 |  def :+(other: BsonValue): BsonValue = merge(other, bv, false)
  |                                        ^^^^^
  |method merge in package oolong.bson cannot be accessed as a member of (oolong.bson: oolong.bson.type) from module class usage$package$.

Expectation

Probably should compile

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions