-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Stabilize the alloc
crate.
#59675
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Stabilize the alloc
crate.
#59675
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Note that the |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
I think it's probably best to land this after the beta branch next week? Just want to give it a but more time to bake if we can. Other than that though r=me! |
That’s fine if you prefer, though in a way this has been baking for years already. The only thing changing now is stability attributes. |
(Marking as blocked by the beta release) |
@bors: r+ |
📌 Commit f3173fed8499cc60a296622ce8e489e84704c6ca has been approved by |
@bors r- Version number is wrong. |
This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
f3173fe
to
fc928a1
Compare
…hton Stabilize the `alloc` crate. This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
…hton Stabilize the `alloc` crate. This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
Rollup of 18 pull requests Successful merges: - rust-lang#59612 (Use normal newtype_index macro for MIR dataflows) - rust-lang#59675 (Stabilize the `alloc` crate.) - rust-lang#59708 (Mark variables captured by reference as mutable correctly) - rust-lang#59735 (remove lookup_char_pos_adj) - rust-lang#59747 (Copy book.toml unstable book generator) - rust-lang#59796 (Retire `IsNotConst` naming) - rust-lang#59804 (Clean up jobserver integration) - rust-lang#59818 (Eliminate `FnBox` usages from libstd.) - rust-lang#59830 (Fix links on keyword docs.) - rust-lang#59835 (Re-export NonZero signed variant in std) - rust-lang#59852 (std: Add `{read,write}_vectored` for more types) - rust-lang#59855 (Fix attributes position in type declaration) - rust-lang#59858 (Make duplicate matcher bindings a hard error) - rust-lang#59879 (Use SecRandomCopyBytes instead of /dev/urandom on MacOS) - rust-lang#59899 (In `-Zprint-type-size` output, sort enum variants by size.) - rust-lang#59912 (MaybeUninit: remove deprecated functions) - rust-lang#59925 (Fix paste error in split_ascii_whitespace docs.) - rust-lang#59930 (Exclude some copies of old book editions from search engines) Failed merges: r? @ghost
Rollup of 18 pull requests Successful merges: - #59612 (Use normal newtype_index macro for MIR dataflows) - #59675 (Stabilize the `alloc` crate.) - #59708 (Mark variables captured by reference as mutable correctly) - #59735 (remove lookup_char_pos_adj) - #59747 (Copy book.toml unstable book generator) - #59796 (Retire `IsNotConst` naming) - #59804 (Clean up jobserver integration) - #59818 (Eliminate `FnBox` usages from libstd.) - #59830 (Fix links on keyword docs.) - #59835 (Re-export NonZero signed variant in std) - #59852 (std: Add `{read,write}_vectored` for more types) - #59855 (Fix attributes position in type declaration) - #59858 (Make duplicate matcher bindings a hard error) - #59879 (Use SecRandomCopyBytes instead of /dev/urandom on MacOS) - #59899 (In `-Zprint-type-size` output, sort enum variants by size.) - #59912 (MaybeUninit: remove deprecated functions) - #59925 (Fix paste error in split_ascii_whitespace docs.) - #59930 (Exclude some copies of old book editions from search engines) Failed merges: r? @ghost
…hton Stabilize the `alloc` crate. This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
⌛ Testing commit fc928a1 with merge bd438f99f5cc387dd1853510445269c62e2d8e1e... |
…hton Stabilize the `alloc` crate. This implements RFC 2480: * rust-lang/rfcs#2480 * https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md Closes rust-lang#27783
@bors retry |
Rollup of 16 pull requests Successful merges: - #59675 (Stabilize the `alloc` crate.) - #59708 (Mark variables captured by reference as mutable correctly) - #59735 (remove lookup_char_pos_adj) - #59747 (Copy book.toml unstable book generator) - #59796 (Retire `IsNotConst` naming) - #59804 (Clean up jobserver integration) - #59818 (Eliminate `FnBox` usages from libstd.) - #59830 (Fix links on keyword docs.) - #59835 (Re-export NonZero signed variant in std) - #59852 (std: Add `{read,write}_vectored` for more types) - #59855 (Fix attributes position in type declaration) - #59858 (Make duplicate matcher bindings a hard error) - #59899 (In `-Zprint-type-size` output, sort enum variants by size.) - #59912 (MaybeUninit: remove deprecated functions) - #59925 (Fix paste error in split_ascii_whitespace docs.) - #59930 (Exclude some copies of old book editions from search engines) Failed merges: r? @ghost
Pkgsrc changes: * NetBSD/sparc64 disabling of "packed" removed ("packed" removed upstream) * Adapt src_libstd_build.rs patch, update sed'ing of .cargo-checksum.json Build verified on NetBSD 8.0/amd64. Upstream changes: Version 1.36.0 (2019-07-04) ========================== Language -------- - [Non-Lexical Lifetimes are now enabled on the 2015 edition.][59114] - [The order of traits in trait objects no longer affects the semantics of that object.][59445] e.g. `dyn Send + fmt::Debug` is now equivalent to `dyn fmt::Debug + Send`, where this was previously not the case. Libraries --------- - [`HashMap`'s implementation has been replaced with `hashbrown::HashMap` implem entation.][58623] - [`TryFromSliceError` now implements `From<Infallible>`.][60318] - [`mem::needs_drop` is now available as a const fn.][60364] - [`alloc::Layout::from_size_align_unchecked` is now available as a const fn.][6 0370] - [`String` now implements `BorrowMut<str>`.][60404] - [`io::Cursor` now implements `Default`.][60234] - [Both `NonNull::{dangling, cast}` are now const fns.][60244] - [The `alloc` crate is now stable.][59675] `alloc` allows you to use a subset of `std` (e.g. `Vec`, `Box`, `Arc`) in `#![no_std]` environments if the environment has access to heap memory allocation. - [`String` now implements `From<&String>`.][59825] - [You can now pass multiple arguments to the `dbg!` macro.][59826] `dbg!` will return a tuple of each argument when there is multiple arguments. - [`Result::{is_err, is_ok}` are now `#[must_use]` and will produce a warning if not used.][59648] Stabilized APIs --------------- - [`VecDeque::rotate_left`] - [`VecDeque::rotate_right`] - [`Iterator::copied`] - [`io::IoSlice`] - [`io::IoSliceMut`] - [`Read::read_vectored`] - [`Write::write_vectored`] - [`str::as_mut_ptr`] - [`mem::MaybeUninit`] - [`pointer::align_offset`] - [`future::Future`] - [`task::Context`] - [`task::RawWaker`] - [`task::RawWakerVTable`] - [`task::Waker`] - [`task::Poll`] Cargo ----- - [Cargo will now produce an error if you attempt to use the name of a required dependency as a feature.][cargo/6860] - [You can now pass the `--offline` flag to run cargo without accessing the netw ork.][cargo/6934] You can find further change's in [Cargo's 1.36.0 release notes][cargo-1-36-0]. Clippy ------ There have been numerous additions and fixes to clippy, see [Clippy's 1.36.0 rel ease notes][clippy-1-36-0] for more details. Misc ---- Compatibility Notes ------------------- - [`std::arch::x86::_rdtsc` returns `u64` instead of `i64`][stdsimd/559] - [`std::arch::x86_64::_mm_shuffle_ps` takes an `i32` instead of `u32` for `mask `][stdsimd/522] - With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no longer recommended, and will be deprecated in 1.38.0. [60318]: rust-lang/rust#60318 [60364]: rust-lang/rust#60364 [60370]: rust-lang/rust#60370 [60404]: rust-lang/rust#60404 [60234]: rust-lang/rust#60234 [60244]: rust-lang/rust#60244 [58623]: rust-lang/rust#58623 [59648]: rust-lang/rust#59648 [59675]: rust-lang/rust#59675 [59825]: rust-lang/rust#59825 [59826]: rust-lang/rust#59826 [59445]: rust-lang/rust#59445 [59114]: rust-lang/rust#59114 [cargo/6860]: rust-lang/cargo#6860 [cargo/6934]: rust-lang/cargo#6934 [`VecDeque::rotate_left`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_left [`VecDeque::rotate_right`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_right [`Iterator::copied`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#tymethod.copied [`io::IoSlice`]: https://doc.rust-lang.org/std/io/struct.IoSlice.html [`io::IoSliceMut`]: https://doc.rust-lang.org/std/io/struct.IoSliceMut.html [`Read::read_vectored`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_vectored [`Write::write_vectored`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_vectored [`str::as_mut_ptr`]: https://doc.rust-lang.org/std/primitive.str.html#method.as_mut_ptr [`mem::MaybeUninit`]: https://doc.rust-lang.org/std/mem/union.MaybeUninit.html [`pointer::align_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.align_offset [`future::Future`]: https://doc.rust-lang.org/std/future/trait.Future.html [`task::Context`]: https://doc.rust-lang.org/beta/std/task/struct.Context.html [`task::RawWaker`]: https://doc.rust-lang.org/beta/std/task/struct.RawWaker.html [`task::RawWakerVTable`]: https://doc.rust-lang.org/beta/std/task/struct.RawWakerVTable.html [`task::Waker`]: https://doc.rust-lang.org/beta/std/task/struct.Waker.html [`task::Poll`]: https://doc.rust-lang.org/beta/std/task/enum.Poll.html [clippy-1-36-0]: https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-136 [cargo-1-36-0]: https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-136-2019-07-04 [stdsimd/522]: rust-lang/stdarch#522 [stdsimd/559]: rust-lang/stdarch#559
This is because the rust_core create at version 0.6 uses the alloc crate which has been stabilized in rust 1.36. See rust-lang/rust#59675
This implements RFC 2480:
Closes #27783