| Age | Commit message (Collapse) | Author | Lines |
|
Add Ref/RefMut map_split method
As proposed [here](https://internals.rust-lang.org/t/make-refcell-support-slice-splitting/7707).
TLDR: Add a `map_split` method that allows multiple `RefMut`s to exist simultaneously so long as they refer to non-overlapping regions of the original `RefCell`. This is useful for things like the slice `split_at_mut` method.
|
|
Stabilize #[repr(transparent)]
Tracking issue FCP: https://github.com/rust-lang/rust/issues/43036#issuecomment-394094318
Reference PR: https://github.com/rust-lang-nursery/reference/pull/353
|
|
|
|
|
|
|
|
Regenerate character tables for Unicode 11
None
|
|
Tracking issue FCP: https://github.com/rust-lang/rust/issues/43036#issuecomment-394094318
Reference PR: https://github.com/rust-lang-nursery/reference/pull/353
|
|
Stabilize GlobalAlloc and #[global_allocator]
This PR implements the changes discussed in https://github.com/rust-lang/rust/issues/49668#issuecomment-393263510
Fixes #49668
Fixes #27389
This does not change the default global allocator: #36963
|
|
|
|
|
|
Fixes https://github.com/rust-lang/rust/issues/49668
|
|
|
|
|
|
|
|
Add some docs where they were missing,
attempt to fix them where they were out of date.
|
|
The heap.rs file was already unused.
|
|
|
|
[futures] add a few blanket impls to std
these were defined in the futures crate, but with the core definitions moving to std these would need to move too.
|
|
|
|
Improve docs for slice::from_raw_parts
Explain why the pointer must be non-null and aligned.
Cc @hsivonen
|
|
add some docs to `From` conversions
This adds a helpful document to the bool → int* conversions as well as to the lossless integer conversions.
One of #51430 down, some more to go.
|
|
Stabilize iterator_repeat_with
Fixes #48169
|
|
|
|
Stabilize Iterator::step_by
Fixes #27741
|
|
Document size_of for 128-bit integers
We might want to consider separately documenting the alignment of
primitives, rather than just their size, since 128-bit integers, unlike
all other primitives, have an alignment that is not identical to their
size (size_of is 16, align_of is 8)
|
|
|
|
|
|
Make the size of Option<NonZero*> a documented guarantee.
Closes #49137, the tracking issue for `NonZero*`, as this was the last remaining open question.
Note that `ptr::NonNull<T>` already documents a similar guarantee.
|
|
|
|
We might want to consider separately documenting the alignment of
primitives, rather than just their size, since 128-bit integers, unlike
all other primitives, have an alignment that is not identical to their
size (size_of is 16, align_of is 8)
|
|
|
|
Add Future and task system to the standard library
This adds preliminary versions of the `std::future` and `std::task` modules in order to unblock development of async/await (https://github.com/rust-lang/rust/issues/50547). These shouldn't be considered as final forms of these libraries-- design questions about the libraries should be left on https://github.com/rust-lang/rfcs/pull/2418. Once that RFC (or a successor) is merged, these APIs will be adjusted as necessary.
r? @aturon
|
|
|
|
Reexport fmt::Alignment into std
Follow-up of #51078.
|
|
Closes #49137, the tracking issue for `NonZero*`,
as this was the last remaining open question.
Note that `ptr::NonNull<T>` already documents a similar guarantee.
|
|
docs order
See https://github.com/rust-lang/rust/issues/47115#issuecomment-392532855
|
|
Various minor slice iterator cleanups
See individual commits
|
|
const fn integer operations
A follow up to #51171
Fixes #51267
Makes a lot of the integer methods (`swap_bytes`, `count_ones` etc) `const fn`s. See #51267 for a discussion about why this is wanted and the solution used.
|
|
|
|
|
|
These don't exist anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #27741
|
|
impl Default for &mut str
Rationale: There is already `impl Default for &mut [T]`.
Note: This impl is insta-stable.
|
|
Make Layout's align a NonZeroUsize
This PR makes the `Layout`'s align field a `NonZeroUsize` since it cannot ever be zero, not even while building a `Layout`. It also contains some drive-by minor cleanups over the docs and the code, like updating the documented error types, or using the `size()` and `align()` methods instead of accessing the fields directly (the latter was required for the `NonZeroUsize` change anyways).
r? @SimonSapin
cc @Amanieu
|