-
Notifications
You must be signed in to change notification settings - Fork 1.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
Stress test for add-class-deps (#18958) #19015
Closed
Closed
Commits on Nov 18, 2023
-
Test cases for generic parser combinators
Some test cases that demonstrate that Scala's type system is currently not precise enough when it comes to dependent classes.
Configuration menu - View commit details
-
Copy full SHA for 6f29a76 - Browse repository at this point
Copy the full SHA 6f29a76View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfebebd - Browse repository at this point
Copy the full SHA bfebebdView commit details
Commits on Nov 19, 2023
-
Introduce tracked class parameters
For a tracked class parameter we add a refinement in the constructor type that the class member is the same as the parameter. E.g. ```scala class C { type T } class D(tracked val x: C) { type T = x.T } ``` This will generate the constructor type: ```scala (x1: C): D { val x: x1.type } ``` Without `tracked` the refinement would not be added. This can solve several problems with dependent class types where previously we lost track of type dependencies.
Configuration menu - View commit details
-
Copy full SHA for 0f4aba8 - Browse repository at this point
Copy the full SHA 0f4aba8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9067e86 - Browse repository at this point
Copy the full SHA 9067e86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d4dcd0 - Browse repository at this point
Copy the full SHA 0d4dcd0View commit details
Commits on Nov 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2bd0c96 - Browse repository at this point
Copy the full SHA 2bd0c96View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4656b1 - Browse repository at this point
Copy the full SHA a4656b1View commit details -
Implement pickling/unpickling for dependent refinements
Needs an addition to Tasty format: TRACKED as a modifier.
Configuration menu - View commit details
-
Copy full SHA for ac09b4c - Browse repository at this point
Copy the full SHA ac09b4cView commit details -
Stress test for add-class-deps
This commit makes all explicitly declared vals tracked. It causes many test failures, which makes it unlikely that we will be able to do this in the end. But it's an excellent basis for stress testing the implementation of dependent classes. The idea is to - look at the test failures in this test - convert failing tests into tests witih explicit tracked annotations - if the test still fails (it probably will), try to fix the root cause or determine that the pattern should not be supported.
Configuration menu - View commit details
-
Copy full SHA for fab596a - Browse repository at this point
Copy the full SHA fab596aView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.