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.
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
implement ptr::write without dedicated intrinsic #80290
implement ptr::write without dedicated intrinsic #80290
Changes from all commits
1862135
db03b58
a5b89a0
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
What is the difference between
intrinsics::forget
andmem::forget
? I saw thatmem::forget
is used bywrite_unaligned
andmem::forget
isconst fn
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.
mem::forget
usesintrinsics::forget
internally, but doesn't get inlined in debug mode.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, ok. Thanks
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.
Yeah, currently only
write
gets this special treatment.We could also decide to make
copy_nonoverlapping
directly an intrinsic again without a wrapper function -- the debug assertions in there are disabled now anyway, and that would benefit all the functions in here, not justwrite
.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.
Am I right in assuming that we will want to make
write
const
in a not too distant future? In that case is there anything in this PR to consider to prevent any future issues?I believe borrowing
src
might be a problem in const context until insert_name_here is implemented. Do we think that is relevant to this PR?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.
On second thought, is that #80418? :)
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.
While yes, we want to make it
const
, I also don't think we should make our runtime implementation worse, or keep such a complex intrinsic around, just to be able to make itconst
.But also, as you said, with #80418 this function should actually be fine.
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.
Not what I meant to suggest :)
Awesome then :)
This file was deleted.