Skip to content

Mirror.SumOf not being provided when a direct subtype is also a sum #11765

Closed
@japgolly

Description

@japgolly

Compiler version

3.0.0-RC1

Minimized code

import scala.deriving.*

sealed trait A
sealed trait B extends A
case class A1() extends A
case class B1() extends B

def test =
  summon[Mirror.Of[A]]
  summon[Mirror.Of[B]]
  summon[Mirror.Of[A1]]
  summon[Mirror.Of[B1]]

Output

[error] 9 |  summon[Mirror.Of[A]]
[error]   |                      ^
[error]   |no implicit argument of type deriving.Mirror.Of[A] was found for parameter x of method summon in object Predef

Expectation

It should compile.

Mirror.Of[A] should return a Mirror.SumOf[A] { type MirroredElemTypes = B *: A1 *: EmptyTuple }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions