-
Notifications
You must be signed in to change notification settings - Fork 19
New design based on *mut T
#22
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 1 commit
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
a7ae579
New design based on `UnsafeCell`
phil-opp 946b37b
Use `*mut T` instead of `&UnsafeCell<T>` since the latter is derefere…
phil-opp 682dd70
Add access types for allowing only unsafe reads and/or writes
phil-opp 0699e4e
Remove stabilized const_generics feature
phil-opp 2ece021
Redesign access types and adjust (doc)tests
phil-opp 534ec6e
Use `NonNull` instead of `*mut T`
phil-opp c3d6b9a
Add lifetime parameter and rename to `VolatilePtr`
phil-opp 9f7b015
Fix: do bounds checking in `index` and `index_mut`
phil-opp b525f38
Add `const` index functions under a new `very_unstable` feature
phil-opp 4accd51
add `VolatilePtr::as_slice_mut`
Freax13 a9e8509
add `VolatilePtr::iter` & `VolatilePtr::iter_mut`
Freax13 167adec
add `VolatilePtr::is_empty`
Freax13 aa93fb9
add missing access where bounds
Freax13 554c806
reject mapping to unaligned fields
Freax13 ff0ee4f
WIP: owned with borrow
Freax13 cd57be9
fix UAF in doctest
Freax13 927b061
Merge pull request #28 from Freax13/unsafe-cell-but-owned
phil-opp 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
add missing access where bounds
- Loading branch information
commit aa93fb97f8eebd81fc01833c181652c7a6f510df
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
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.
It seems like for this method (and all the other methods that use volatile intrinsic), we should just have a stable, normal loop that just does
read_volatile
/write_volatile
by default.We could then add a nightly-only
"slice_optimizations"
feature, that changes the implementation to use the intrinsics. Then, when rust-lang/rfcs#2728 gets stabilized, we can switch to unconditionally using the stabilized methods.