Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport "Streamline tryNormalize with underlyingMatchType" to LTS #21990

Closed
wants to merge 9 commits into from

Commits on Nov 20, 2024

  1. Drop normalization of applied match alias arguments

    Delay their normalization until it is needed.
    Avoids overflows from infinite match types that did not need to normalize.
    Also improves MatchTypeTraces as a side effect.
    
    It appears to have been added to avoid some separate issue, which seems to have been fixed.
    It is no longer needed since the previous fix with constant folding in disjointnessBoundary.
    
    [Cherry-picked 32752e2][modified]
    prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    50fd96b View commit details
    Browse the repository at this point in the history
  2. Use cached underlyingMatchType when normalizing applied match aliases

    Also fixes underlyingMatchType to not use the resType of HKTypeLambdas
    It should only be in `isMatch` used for `AliasingBounds`, not `isMatchAlias`
    
    [Cherry-picked ac98023][modified]
    prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    acaaeb3 View commit details
    Browse the repository at this point in the history
  3. Cache underlying applied compiletime.ops

    [Cherry-picked 68ca883][modified]
    prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    cda1d40 View commit details
    Browse the repository at this point in the history
  4. Use underlyingNormalizable in Type#tryNormalize

    [Cherry-picked a6cadec]
    EugeneFlesselle authored and prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    8621dc4 View commit details
    Browse the repository at this point in the history
  5. stripLazyRef for underlyingNormalizable

    [Cherry-picked 4fbba66]
    EugeneFlesselle authored and prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    ea96161 View commit details
    Browse the repository at this point in the history
  6. Drop handleRecursive from MatchType#tryNormalize

    There is already a `handleRecursive` in `reduced`
    Having the two makes error messages undeterministic, see #20269
    
    [Cherry-picked 309b1cf]
    EugeneFlesselle authored and prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    dc2d31b View commit details
    Browse the repository at this point in the history
  7. Regroup tryNormalize logic

    [Cherry-picked 0b87d7f][modified]
    prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    08967f6 View commit details
    Browse the repository at this point in the history
  8. Add i974.scala to neg-best-effort-pickling.blacklist

    [Cherry-picked 9df3942][modified]
    prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    1bc6fc8 View commit details
    Browse the repository at this point in the history
  9. Add test for #20482

    tryNormalize used to not recursively check if tycon of applied type was normalizable,
    this may be necessary in the case of an applied type dealiasing to a type lambda.
    
    Fixes #20482
    
    [Cherry-picked 9465d65]
    EugeneFlesselle authored and prolativ committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    ad6eb2b View commit details
    Browse the repository at this point in the history