-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Implement object-safety for arbitrary_self_types #50173
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
mikeyhew
wants to merge
32
commits into
rust-lang:master
from
mikeyhew:arbitrary-self-types-object-safety
Closed
Changes from 30 commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
0f0b7cb
Make all object-safety methods require a global TyCtxt
mikeyhew 6e05b92
Try to do the CoerceUnsized check for object safety
mikeyhew d3af466
reduce line length to please tidy
mikeyhew 09202f3
do the coerce_unsized check last
mikeyhew 0f76082
only check for object-safety if we have an inference variable
mikeyhew 76d3e73
remove some `use` declarations that got added in during rebase
mikeyhew ebe1199
Add some log messages to aid in debugging
mikeyhew 04cbc1d
re-bind receiver_ty to avoid escaping regions errors
mikeyhew 831e821
It's the receiver type we're checking, not Self
mikeyhew e5ca14c
allow `self: Self` as a special case for backward-compat
mikeyhew 1509275
keep receiver_ty behind a Binder always
mikeyhew 9cbce68
call liberate_late_bound_regions on receiver_ty
mikeyhew e3b3167
fix bug when trait arguments appear in `receiver_ty`
mikeyhew 478763b
update object-safety ui test for new object-safety rules
mikeyhew b31b0f9
create receiver_substs using the method's DefId
mikeyhew 3e8c5bc
update some compile-fail tests
mikeyhew a63a201
Add the CoerceSized trait
mikeyhew 2598c1f
switch from using CoerceUnsized to CoerceSized for the object-safety …
mikeyhew c236af3
update comments and fix bug in object_safety.rs
mikeyhew ffcadd4
update code comments in object-safety.rs
mikeyhew f85e838
update doc comments and fix tidy lints
mikeyhew 85b25a6
update object_safety module-level documentation
mikeyhew 39e13ae
use [X => Y] instead of [X -> Y] for substitution notation
mikeyhew 9bfb39d
address nit about `{` being on the wrong line
mikeyhew 6b14a12
add ICE message explaining that custom receivers dynamic dispatch is …
mikeyhew 2739801
Finish updating ui tests
mikeyhew e972b2b
Move CoerceSized from marker to ops
mikeyhew 3c6fcde
Add a test with pointers and wrappers
mikeyhew 01d0a2e
fix issue number for coerce_sized feature
mikeyhew ad8f4c0
Add a positive test using stdlib pointers
mikeyhew ac7677f
Undo submodule changes in a63a201ba5f543ddd858bb65881d7e696fde6707
mikeyhew c5a8553
remove stray newline
mikeyhew 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
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
Submodule libcompiler_builtins
updated
from f3a13e to d549d8
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
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 this extra newline?
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.
That's a holdover from when
CoerceSized
was there and should be removed