quotes
.asInstanceOf[QuoteMatching] // scala.quoted.runtime.QuoteMatching
.ExprMatch // or TypeMatch
.unapply[
KCons[t1 >: l1 <: b1, ...KCons[tn >: ln <: bn, KNil]...], // scala.quoted.runtime.{KCons, KNil}
(T1, T2, (A1, ..., An) => T3, ...)
](
'{
type t1' >: l1' <: b1'
...
type tn' >: ln' <: bn'
// scala.quoted.runtime.Patterns.{patternHole, higherOrderHole}
... $patternHole[T1] ... $patternHole[T2] ... $higherOrderHole[T3](a1, ..., an) ...
},
quotes
)
Here ti' is a `TypeDef` that represents `ti` in the (pickled) pattern body. The type bounds
`>: l1' <: b1` of `ti'` are the same as the type bounds `>: l1 <: b1` replacing all references
to `tj` with `tj'`.