scala3
scala3 copied to clipboard
Exclude match aliases from partial unification attempts
Fixes #15983
I don't understand what's specific about aliases to match types here, surely we should still be able to construct type lambdas involving them?
Well, no, it crashes in the partial unification code otherwise.
I think we require that a match type alias is always fully applied.
I think we require that a match type alias is always fully applied.
This doesn't seem to be required in sources, using the same TupleUnionLub match type from the test case I can write:
class Foo[F[_]]
val x = new Foo[[X] =>> TupleUnionLub[Tuple, Any, X]]
I would expect partial unification to generate type lambdas like this too.
OK, so do you want to take a look at it?
I'll assign myself to the issue.
Issue has been open for a month now.
I did not have a job during that month.