-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Stabilize the alloc
crate.
#59675
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