-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fixes to make dotc compile with capture checking #16254
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
Merged
Merged
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
1d2e16e
Bugfix: generate same kind of MethodType when capture checking anonym…
odersky 5496ef1
Bugfix: Avoid crash in cc/Synthetics
odersky 65d8b19
Performance: Run capture checking transformers only if cc is enabled …
odersky 2066efa
Enhancement: Revert automatic boxing of universal variable initializers
odersky f17fff9
Enhancement: Special treatment of arguments of `asInstanceOf`
odersky feb4c7c
Enhancement: Assume special capturing types for `eq` and `ne`
odersky 96643ef
Bugfix: Allow all private definitions to have inferred types
odersky 824580e
Bugfix: Avoid spurious check in RefChecks
odersky 7740fb7
Bugfix: More lenient definition when an inferred type is OK for visib…
odersky 4b98155
Enhancement: Don't count @constructorOnly parameters towards the self…
odersky b21867f
Enhancement: More lenient check for inferred self types
odersky 4b97e1d
Enhancement: Add missing case for comparison of capturing types.
odersky 7f0e259
Enhancement: Force all exception classes to be pure
odersky 3964599
Tweak: Don't refine parameters of Java classes
odersky 2ba6289
Tweak: Tweak rechecking of returns
odersky d157daa
Bugfix: Refine canWidenAbstract criterion
odersky 18b8ff4
Tweak: Widen skolem types before conformity checks
odersky 1b15fa6
Bugfix: Relax experimental inheritance criterion
odersky 055beab
Enhancement: Introduce caps.Pure trait
odersky f194098
Tweak: Make root addition handler take a context
odersky f6e1c03
Bugfix: Fix setup of overriding symbols
odersky 65477c5
Bugfix: Make another map an IdempotentCaptRefMap
odersky 594aa1a
Bugfix: Fix handling for call-by-name arguments of applied types
odersky f8c4482
Bugfix: Make sure to restore anonymous function infos
odersky 10c657c
Tweak: Exclude default getters from "must be explicitly defined" requ…
odersky c2086df
Enhancement: Treat Any as a top type for comparisons.
odersky ff5726c
Enhancement: Implement bounds checking
odersky 25a4246
Enhancement: Take purity of classes into account when capture checking
odersky f079fe5
Enhancement: Add unsafeBoxFunArg operation.
odersky 96bbc1d
Bugfix: Restore cached denotations of NamedTypes to their value befor…
odersky 78dc699
Bugfix: Maintain inline context when rechecking
odersky 2d5e981
Tweak: Avoid type ascription in uncheckedNN
odersky 0381e2e
Enhancement: Move unsafe box/unbox ops into separate caps.unsafe module
odersky 5d7b043
Tweak: Print Ranges like regular types
odersky f07dc95
Enhancement: Generalize handling of exceptions to all pure base classes
odersky 16b5f4e
Fix typos
odersky dc4d6c9
Add doc comment to postCheck
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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
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.
This case is missing in the documentation. Shall we add the explanation of it?
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.
Where would you add it? It's basically the normal checking that type arguments must fit into type parameter bounds, taking capture setting into account.
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.
I was thinking that it would be good to be explained in the docstring of
postCheck
, since it only talks about the other two cases but not this newly-added one for bounds checking.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.
Yes, that makes sense.