Closed
Description
Compiler version
3.1.1-RC1
3.1.0
Minimized code
summon[Mirror.Of[Int *: String *: Boolean *: EmptyTuple]]
Output
no implicit argument of type deriving.Mirror.Of[Int *: String *: Boolean *: EmptyTuple] was found for parameter x of method summon in object Predef
Expectation
Output should be the same as:
summon[Mirror.Of[(Int, String, Boolean)]]
since
summon[(Int, String, Boolean) =:= (Int *: String *: Boolean *: EmptyTuple)]
The cause seems related to the fact that *:
is an abstract class and those are excluded from being generic products. Relevant links:
https://github.com/lampepfl/dotty/blob/7a473349b3fb64e7c6c9dfcfb02758f4a2e3756c/library/src/scala/Tuple.scala#L318