Skip to content

Compilation fails in Scala 3 when deriving Reusability for case classes with multiple parameter groups #1075

@rpiaggio

Description

@rpiaggio

Attempting to compile the following code in Scala 3

  final case class Foo(bar: Int)(val ctx: String)

  implicit val reuse: Reusability[Foo] = Reusability.derive

results in

[error] 108 |  implicit val reuse: Reusability[Foo] = Reusability.derive
[error]     |                                         ^^^^^^^^^^^^^^^^^^
[error]     | no implicit values were found that match type deriving.Mirror{
[error]     |   MirroredType = explore.targeteditor.ElevationPlotSemester.Foo; 
[error]     |     MirroredMonoType = explore.targeteditor.ElevationPlotSemester.Foo
[error]     |   ; MirroredElemTypes <: Tuple
[error]     | }

The expected behavior is that only the first parameter group is considered for reusability, as it does in Scala 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions