@@ -237,7 +237,7 @@ object SpaceEngine {
237
237
else a
238
238
case (a @ Typ (tp1, _), Prod (tp2, fun, ss)) =>
239
239
// rationale: every instance of `tp1` is covered by `tp2(_)`
240
- if isSubType(tp1, tp2) && covers(fun, tp1, ss.length) then
240
+ if isSubType(tp1.stripNamedTuple , tp2) && covers(fun, tp1, ss.length) then
241
241
minus(Prod (tp1, fun, signature(fun, tp1, ss.length).map(Typ (_, false ))), b)
242
242
else if canDecompose(a) then minus(Or (decompose(a)), b)
243
243
else a
@@ -804,8 +804,8 @@ object SpaceEngine {
804
804
else tp.symbol.showName
805
805
case Typ (tp, decomposed) =>
806
806
val cls = tp.classSymbol
807
- if ctx.definitions.isTupleNType(tp) then
808
- params(tp).map(_ => " _" ).mkString(" (" , " , " , " )" )
807
+ if ctx.definitions.isTupleNType(tp.stripNamedTuple ) then
808
+ params(tp.stripNamedTuple ).map(_ => " _" ).mkString(" (" , " , " , " )" )
809
809
else if defn.ListType .isRef(cls) then
810
810
if flattenList then " _*" else " _: List"
811
811
else if (defn.ConsType .isRef(cls))
0 commit comments