-
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
New capture escape checking based on levels #18463
Merged
Merged
Changes from all commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
b98efc4
Drop another impure function adaptation
odersky af631d5
Test case
odersky d071bf2
Simplify healTypeParam
odersky 3b03592
Fix installAfter corner case
odersky 7ab82c0
Change closure handling
odersky 12e80fe
Fix SimpleIdentitySet#map
odersky 78df620
Use a BiTypeMap for substitutions when possible
odersky d5bb4d8
Cleanup SubstParamsMap
odersky 5b88ab6
Fix typo in exception message
odersky 84dbe7f
Fix BiTypeMap#inverse
odersky deb0f01
Refactor printing of capture sets
odersky 734ec49
Generalize addenda handling for typeMismatch errors
odersky 5a30a1d
Refactorings
odersky b1edf44
Make mappings in Setup more robust
odersky c256d24
More robust treatment of @capability classes
odersky 2188081
Allow to use inferred capture sets for definitions that override others
odersky f386334
Handle levels in constraint solving
odersky ab884af
Introduce caps.Root type for user-definable capture roots
odersky 45e328b
Drop anonymous functions as level owners
odersky 1333344
Introduce RootVar
odersky 2f35940
Fix -Xprint:cc
odersky 9a48aba
Add RefiningVar
odersky 3715293
Infrastructure for local roots
odersky cb061c0
Fixes to infrastructure for local roots
odersky dd0aad2
Fix constructor handling when roots are mapped
odersky 7f230c3
Fixes to backwards root mapping in Setup
odersky 74c2db6
Allow to turn off root mapping in inferred types
odersky 5ad35d6
Fix handling of PolyFunction in when comparing refined types
odersky d978b4c
Don't map @capability classes that already carry a capture set
odersky a4711fc
Don't drop annotations when following aliases in type maps
odersky 53c1a08
Revise handling of self types
odersky dc5cd1d
Don't treat synthetic case class accessors as level owners
odersky 89c0429
Invalidate CaptureRef caches when updating their symbol's info
odersky 3b01d6a
Avoid early forcing of CaptureRef infos
odersky 38ba069
Make CCState global
odersky 5dd1067
Another fix for comparing with RefiningVar capture sets in refinements
odersky 9c498ef
Recognize user-defined local roots in healTypeParams
odersky 0910304
Interpolate root vars
odersky acacb13
Detect local root capability in curried methods
odersky 21348b1
Refactor error reporting when checking references
odersky 05ba906
Constrain closure parameters and results early
odersky 5fd589e
Don't add capture set variables to Caps_Root
odersky c64de22
Improve printing of local roots.
odersky 684d5cd
Streamline CCState handling
odersky be26204
Improve error reporting
odersky f2aa33c
Take names of synthesized contextual functions from expected type
odersky 9884855
Enable local roots
odersky 7d9a288
Delay checking against expected type for eta-expanded closures
odersky 5e09178
Revise printing of CaptureRoot.Vars
odersky b6132d9
Make caps.cap a given for caps.Root
odersky 6bf993c
Refine handling of val-bound closures
odersky 1a0be56
Add shortenCap config option to Printer
odersky 50419ac
Adapt tests to local roots
odersky 68044f0
Level-based capture checking for try/catch
odersky 95fbe8a
Disable posWithCompilerCC for now
odersky 4942724
Revert "Implement sealed type variables"
odersky 0ad89a0
Fix upperApprox
odersky 0d58f24
Allow to instantiate `cap` in checkConformsExpr
odersky 2ca0f6f
Fix unsafeAssumePure handling
odersky bb00ccf
Add config switch for mapRoots to constrain root vars or not
odersky d7bef7e
Introduce property for loose capture root checking
odersky b169292
Adapt .gitignore to ognore coverage files
odersky d2100d9
Simplify function call
odersky 9249611
Tweaks to tests and doc
odersky 803e06a
Rename caps.Root to caps.Cap
odersky 0a048fa
Add syntax `cap[qual]` for outer capture roots
odersky e8b8491
Fix and add to tests
odersky 9cb9206
Address review comments
odersky 9f5a466
Add back generic new.test.scala
odersky cfb4c9c
Simplify setup of DefDef and ValDef nodes
odersky 5fcd976
Make Cap a class
odersky 81de544
Drop redundant expandThrowsAlias
odersky 209d793
Normalize captures also for explicit types
odersky 13012c8
Fix printing of some refined function types
odersky bc522cc
Refactor determination of level owners
odersky 4a45939
Fix printing of nesting levels
odersky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -99,3 +99,6 @@ docs/_spec/.jekyll-metadata | |
# scaladoc related | ||
scaladoc/output/ | ||
|
||
#coverage | ||
coverage/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.