Skip to content

headers.scala case classes have package private constructors - Scala 3 enforces this #304

@pjfanning

Description

@pjfanning

For some reason, Scala 2 seems to allow public access to package private constructors but Scala 3 enforces it.

We also had to relax the scope on 2 constructors to allow pekko-connectors to compile with Scala 3.

#178

It turns out that Tapir also uses these exact same constructors but Tapir is in its own package. Tapir recently added Pekko HTTP support but didn't add Scala 3 support for Pekko HTTP (softwaremill/tapir#3114).

Should we start making these constructors (see #178) public?

If so, should we backport to 1.0.1 even though this will probably affect binary compatibility?

Adding a hacky org.apache.pekko scoped util class to Tapir should allow a workaround that can create Content-Length/Content-Type instances.

wdyt? @jrudolph @mdedetrich

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions