On Thu, 5 May 2022 12:28:42 GMT, Aggelos Biboudis <abimpou...@openjdk.org> wrote:
>>> I think this is i) from the domination relation: >>> >>> > A record pattern with type R and record component pattern list L >>> > dominates another record pattern with type S and record component pattern >>> > list M if (i) the erasure of S is a subtype of the erasure of R, and (ii) >>> > every pattern, if any, in L dominates the corresponding pattern in M. >> >> But this subtyping test seems to happen at the level of the component >> pattern list, not at the R/S level, right? > > You are right. It is the ii) which iteratively checks the component pattern > list L. I now believe that the check is needed to properly classify patterns based on the type of the i-th component. That said, not sure this should be a subtyping check, or a type equality ------------- PR: https://git.openjdk.java.net/jdk/pull/8516