-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Get rid of most of the RefCells in librustc_typeck/check #25247
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
Closed
Closed
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
5592972
Moving three fields of Inherited to be &mut instead of RefCell.
pythonesque 312a77b
Move node_types from Inherited to CheckEnv.
pythonesque 319988f
Fix incorrect behavior introduced into autoderef calls.
pythonesque 71d1803
Whitespace nits.
pythonesque ff198f7
Move locals to not use RefCell.
pythonesque 05c8c7c
Move method_map to not need RefCell.
pythonesque 69a3d51
Replace RefCell with Cell for UnsafetyState.
pythonesque d2fef66
Remove object_cast_map.
pythonesque 5ade277
De-RefCell closure_tys.
pythonesque 98bf569
Removed RefCell from fulfillment_cx in typeck.
pythonesque 2ab93a4
Fix whitespace issues introduced by previous commit.
pythonesque ffb1284
Remove RefCell from inh.adjustments in typeck.
pythonesque e9b5137
Remove RefCell from fulfillment_cx in typeck.
pythonesque d717614
Fix make tidy
pythonesque 7d18305
Merge branch 'master' of github.com:rust-lang/rust into less_refcell
pythonesque 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.
Why make this more generic?
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.
Oh, I see, Typer is no longer object-safe. I think I'd prefer that Typer stay object-safe; pity we don't have a good solution for passing FnOnce() closurs as objects yet.
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.
Ah, yes, I remember the issue I had now. Yeah, there was literally no way to add a closure (that I could see) without breaking object safety.
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.
Doing a re-review of these changes, this doesn't matter anymore I axed the Typer interface last week.