Skip to content

Constructor proxies of classes with type parameters are not exported #14160

Closed
@dcascaval

Description

@dcascaval

Compiler version

3.1.0

Minimized code

object api:
  export impl.*

object impl:
  class Bar[T](foo: T)

object Test1:
  import api.*
  val value = Bar(0) // Not Found: Bar

object Test2:
  import impl.*
  val value = Bar(0) // Works

object Test3:
  import api.*
  val value = new Bar[Int](0) // Works

Output

[error] 10 |  val value = Bar(0) // Not Found: Bar
[error]    |              ^^^
[error]    |              Not found: Bar

Expectation

When exporting a class that has a type parameter via a facade object, should be able to construct that class without error, having T be inferred rather than explicitly specified, as is the case when the class is imported directly from the implementation object.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions