Open
Description
minimized code
type O1[A] = {
type OutInner[Ts] <: Tuple = Ts match {
case Unit => Unit
case h *: t => h *: OutInner[t]
}
type Out = OutInner[A]
}
def f1: O1[(Int, Int)]#Out = ???
expectation
The code works fine. If no partial application is used it works fine.
https://scastie.scala-lang.org/IhFycVEdRVmJOjSAtXCw6Q