-
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
std: Stabilize APIs for the 1.6 release #30187
Conversation
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
r? @aturon cc @rust-lang/libs |
e73d694
to
93244f8
Compare
☔ The latest upstream changes (presumably #29999) made this pull request unmergeable. Please resolve the merge conflicts. |
bdf3a1c
to
9f2ea07
Compare
This commit also notably stabilizes |
9f2ea07
to
42225f7
Compare
☔ The latest upstream changes (presumably #30190) made this pull request unmergeable. Please resolve the merge conflicts. |
6daf10b
to
ee96823
Compare
@@ -527,6 +526,7 @@ impl<I: ExactSizeIterator + ?Sized> ExactSizeIterator for Box<I> {} | |||
/// ``` | |||
#[rustc_paren_sugar] | |||
#[unstable(feature = "fnbox", reason = "Newly introduced", issue = "0")] | |||
#[fundamental] |
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.
Just slip that in there :)
This is probably prudent, and technically breaking but it's unstable anyway.
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.
Oh oops, this wasn't supposed to sneak in here
This LGTM. We should figure out a story for the libcore docs eventually, but it shouldn't block this PR. |
ee96823
to
ba5bb32
Compare
@bors: r=aturon ba5bb32 |
⌛ Testing commit ba5bb32 with merge b2538d2... |
💔 Test failed - auto-linux-64-opt |
ba5bb32
to
8c3ec7b
Compare
@bors: r=aturon 8c3ec7be58b38adb5c292ccb5ae386600037b7c1 |
⌛ Testing commit 8c3ec7b with merge 70208d4... |
💔 Test failed - auto-win-msvc-32-opt |
This commit is the standard API stabilization commit for the 1.6 release cycle. The list of issues and APIs below have all been through their cycle-long FCP and the libs team decisions are listed below Stabilized APIs * `Read::read_exact` * `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`) * libcore -- this was a bit of a nuanced stabilization, the crate itself is now marked as `#[stable]` and the methods appearing via traits for primitives like `char` and `str` are now also marked as stable. Note that the extension traits themeselves are marked as unstable as they're imported via the prelude. The `try!` macro was also moved from the standard library into libcore to have the same interface. Otherwise the functions all have copied stability from the standard library now. * The `#![no_std]` attribute * `fs::DirBuilder` * `fs::DirBuilder::new` * `fs::DirBuilder::recursive` * `fs::DirBuilder::create` * `os::unix::fs::DirBuilderExt` * `os::unix::fs::DirBuilderExt::mode` * `vec::Drain` * `vec::Vec::drain` * `string::Drain` * `string::String::drain` * `vec_deque::Drain` * `vec_deque::VecDeque::drain` * `collections::hash_map::Drain` * `collections::hash_map::HashMap::drain` * `collections::hash_set::Drain` * `collections::hash_set::HashSet::drain` * `collections::binary_heap::Drain` * `collections::binary_heap::BinaryHeap::drain` * `Vec::extend_from_slice` (renamed from `push_all`) * `Mutex::get_mut` * `Mutex::into_inner` * `RwLock::get_mut` * `RwLock::into_inner` * `Iterator::min_by_key` (renamed from `min_by`) * `Iterator::max_by_key` (renamed from `max_by`) Deprecated APIs * `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`) * `OsString::from_bytes` * `OsStr::to_cstring` * `OsStr::to_bytes` * `fs::walk_dir` and `fs::WalkDir` * `path::Components::peek` * `slice::bytes::MutableByteVector` * `slice::bytes::copy_memory` * `Vec::push_all` (renamed to `extend_from_slice`) * `Duration::span` * `IpAddr` * `SocketAddr::ip` * `Read::tee` * `io::Tee` * `Write::broadcast` * `io::Broadcast` * `Iterator::min_by` (renamed to `min_by_key`) * `Iterator::max_by` (renamed to `max_by_key`) * `net::lookup_addr` New APIs (still unstable) * `<[T]>::sort_by_key` (added to mirror `min_by_key`) Closes rust-lang#27585 Closes rust-lang#27704 Closes rust-lang#27707 Closes rust-lang#27710 Closes rust-lang#27711 Closes rust-lang#27727 Closes rust-lang#27740 Closes rust-lang#27744 Closes rust-lang#27799 Closes rust-lang#27801 cc rust-lang#27801 (doesn't close as `Chars` is still unstable) Closes rust-lang#28968
8c3ec7b
to
464cdff
Compare
⌛ Testing commit 464cdff with merge f1cd20a... |
💔 Test failed - auto-win-gnu-64-nopt-t |
@bors retry |
This commit is the standard API stabilization commit for the 1.6 release cycle. The list of issues and APIs below have all been through their cycle-long FCP and the libs team decisions are listed below Stabilized APIs * `Read::read_exact` * `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`) * libcore -- this was a bit of a nuanced stabilization, the crate itself is now marked as `#[stable]` and the methods appearing via traits for primitives like `char` and `str` are now also marked as stable. Note that the extension traits themeselves are marked as unstable as they're imported via the prelude. The `try!` macro was also moved from the standard library into libcore to have the same interface. Otherwise the functions all have copied stability from the standard library now. * `fs::DirBuilder` * `fs::DirBuilder::new` * `fs::DirBuilder::recursive` * `fs::DirBuilder::create` * `os::unix::fs::DirBuilderExt` * `os::unix::fs::DirBuilderExt::mode` * `vec::Drain` * `vec::Vec::drain` * `string::Drain` * `string::String::drain` * `vec_deque::Drain` * `vec_deque::VecDeque::drain` * `collections::hash_map::Drain` * `collections::hash_map::HashMap::drain` * `collections::hash_set::Drain` * `collections::hash_set::HashSet::drain` * `collections::binary_heap::Drain` * `collections::binary_heap::BinaryHeap::drain` * `Vec::extend_from_slice` (renamed from `push_all`) * `Mutex::get_mut` * `Mutex::into_inner` * `RwLock::get_mut` * `RwLock::into_inner` * `Iterator::min_by_key` (renamed from `min_by`) * `Iterator::max_by_key` (renamed from `max_by`) Deprecated APIs * `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`) * `OsString::from_bytes` * `OsStr::to_cstring` * `OsStr::to_bytes` * `fs::walk_dir` and `fs::WalkDir` * `path::Components::peek` * `slice::bytes::MutableByteVector` * `slice::bytes::copy_memory` * `Vec::push_all` (renamed to `extend_from_slice`) * `Duration::span` * `IpAddr` * `SocketAddr::ip` * `Read::tee` * `io::Tee` * `Write::broadcast` * `io::Broadcast` * `Iterator::min_by` (renamed to `min_by_key`) * `Iterator::max_by` (renamed to `max_by_key`) * `net::lookup_addr` New APIs (still unstable) * `<[T]>::sort_by_key` (added to mirror `min_by_key`) Closes #27585 Closes #27704 Closes #27707 Closes #27710 Closes #27711 Closes #27727 Closes #27740 Closes #27744 Closes #27799 Closes #27801 cc #27801 (doesn't close as `Chars` is still unstable) Closes #28968
This commit is the standard API stabilization commit for the 1.6 release cycle.
The list of issues and APIs below have all been through their cycle-long FCP and
the libs team decisions are listed below
Stabilized APIs
Read::read_exact
ErrorKind::UnexpectedEof
(renamed fromUnexpectedEOF
)marked as
#[stable]
and the methods appearing via traits for primitives likechar
andstr
are now also marked as stable. Note that the extension traitsthemeselves are marked as unstable as they're imported via the prelude. The
try!
macro was also moved from the standard library into libcore to have thesame interface. Otherwise the functions all have copied stability from the
standard library now.
fs::DirBuilder
fs::DirBuilder::new
fs::DirBuilder::recursive
fs::DirBuilder::create
os::unix::fs::DirBuilderExt
os::unix::fs::DirBuilderExt::mode
vec::Drain
vec::Vec::drain
string::Drain
string::String::drain
vec_deque::Drain
vec_deque::VecDeque::drain
collections::hash_map::Drain
collections::hash_map::HashMap::drain
collections::hash_set::Drain
collections::hash_set::HashSet::drain
collections::binary_heap::Drain
collections::binary_heap::BinaryHeap::drain
Vec::extend_from_slice
(renamed frompush_all
)Mutex::get_mut
Mutex::into_inner
RwLock::get_mut
RwLock::into_inner
Iterator::min_by_key
(renamed frommin_by
)Iterator::max_by_key
(renamed frommax_by
)Deprecated APIs
ErrorKind::UnexpectedEOF
(renamed toUnexpectedEof
)OsString::from_bytes
OsStr::to_cstring
OsStr::to_bytes
fs::walk_dir
andfs::WalkDir
path::Components::peek
slice::bytes::MutableByteVector
slice::bytes::copy_memory
Vec::push_all
(renamed toextend_from_slice
)Duration::span
IpAddr
SocketAddr::ip
Read::tee
io::Tee
Write::broadcast
io::Broadcast
Iterator::min_by
(renamed tomin_by_key
)Iterator::max_by
(renamed tomax_by_key
)net::lookup_addr
New APIs (still unstable)
<[T]>::sort_by_key
(added to mirrormin_by_key
)Closes #27585
Closes #27704
Closes #27707
Closes #27710
Closes #27711
Closes #27727
Closes #27740
Closes #27744
Closes #27799
Closes #27801
cc #27801 (doesn't close as
Chars
is still unstable)Closes #28968