-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Rework variances of higher-kinded types #8082
Commits on Jan 29, 2020
-
+ refactoring: account for Bivariance + refactpring: collect variance related ops in Variances, move Variances to core.
Configuration menu - View commit details
-
Copy full SHA for 0d692ea - Browse repository at this point
Copy the full SHA 0d692eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 573c454 - Browse repository at this point
Copy the full SHA 573c454View commit details -
Add infrastructure for setting paramVariances in HKTypeLambdas
This is meant as a better alternative to encode variances in parameter names.
Configuration menu - View commit details
-
Copy full SHA for 8bfdc0b - Browse repository at this point
Copy the full SHA 8bfdc0bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a7abc7 - Browse repository at this point
Copy the full SHA 8a7abc7View commit details -
Don't encode variances in names
Encode them instead in the upper bound lambda of a TypeBounds type. For now, we also encode them in the alias of a Typealias type, but this will be dropped one we pass to structural lambda variance.
Configuration menu - View commit details
-
Copy full SHA for dcff28c - Browse repository at this point
Copy the full SHA dcff28cView commit details -
Parse and print variances according to new scheme
The old encoding using semantic parameter name is still in place. The new recording inside TypeBounds exists alongside the old one.
Configuration menu - View commit details
-
Copy full SHA for d557ae1 - Browse repository at this point
Copy the full SHA d557ae1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0eb65e5 - Browse repository at this point
Copy the full SHA 0eb65e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba42a23 - Browse repository at this point
Copy the full SHA ba42a23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0847719 - Browse repository at this point
Copy the full SHA 0847719View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fb77fd - Browse repository at this point
Copy the full SHA 9fb77fdView commit details -
Needs to be passed as a parameter since Namer does not construct a bounds immediately.
Configuration menu - View commit details
-
Copy full SHA for 50ae719 - Browse repository at this point
Copy the full SHA 50ae719View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3bd90cd - Browse repository at this point
Copy the full SHA 3bd90cdView commit details -
These can hopefully be revived once the variance changes have completed
Configuration menu - View commit details
-
Copy full SHA for 91e167b - Browse repository at this point
Copy the full SHA 91e167bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 39657ec - Browse repository at this point
Copy the full SHA 39657ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for d983f4f - Browse repository at this point
Copy the full SHA d983f4fView commit details -
Treat type lambdas structurally ...
... unless they are on the right hand side of type bounds or match aliases or they are type aliases where some variance is given explicitly with a `+` or `-`.
Configuration menu - View commit details
-
Copy full SHA for ef7bb36 - Browse repository at this point
Copy the full SHA ef7bb36View commit details -
Configuration menu - View commit details
-
Copy full SHA for f358710 - Browse repository at this point
Copy the full SHA f358710View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c7bc58 - Browse repository at this point
Copy the full SHA 7c7bc58View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec293d9 - Browse repository at this point
Copy the full SHA ec293d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for eef36c0 - Browse repository at this point
Copy the full SHA eef36c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ecf246 - Browse repository at this point
Copy the full SHA 4ecf246View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c9d041 - Browse repository at this point
Copy the full SHA 5c9d041View commit details -
Disallow variances in type lambdas
Since variances are associated conceptually with higher-kinded type variables, it makes no sense to write them on type lambdas. I believe it's better to disallow writing variances there because it will only need to variance-bike-shedding otherwise.
Configuration menu - View commit details
-
Copy full SHA for d2a2fdd - Browse repository at this point
Copy the full SHA d2a2fddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 86cb086 - Browse repository at this point
Copy the full SHA 86cb086View commit details -
Improve isRef queries against top types
A refinement type would previously qualify as an `isRef` of Any, AnyKind, or AnyRef. Often that is not what was intended. Break out `isAny`, `isAnyKind`, and `isAnyRef` methods for tests that don't go through refinements.
Configuration menu - View commit details
-
Copy full SHA for da5ab63 - Browse repository at this point
Copy the full SHA da5ab63View commit details -
Configuration menu - View commit details
-
Copy full SHA for 363a05c - Browse repository at this point
Copy the full SHA 363a05cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bfa8579 - Browse repository at this point
Copy the full SHA bfa8579View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb04b8f - Browse repository at this point
Copy the full SHA eb04b8fView commit details
Commits on Jan 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8667689 - Browse repository at this point
Copy the full SHA 8667689View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80c91ee - Browse repository at this point
Copy the full SHA 80c91eeView commit details
Commits on Jan 31, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 22a7a81 - Browse repository at this point
Copy the full SHA 22a7a81View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2396fe9 - Browse repository at this point
Copy the full SHA 2396fe9View commit details