Skip to content
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

Merged
merged 1 commit into from
Dec 6, 2015

Conversation

alexcrichton
Copy link
Member

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

@rust-highfive
Copy link
Collaborator

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton
Copy link
Member Author

r? @aturon

cc @rust-lang/libs

@bors
Copy link
Contributor

bors commented Dec 3, 2015

☔ The latest upstream changes (presumably #29999) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton alexcrichton force-pushed the stabilize-1.6 branch 2 times, most recently from bdf3a1c to 9f2ea07 Compare December 3, 2015 22:47
@alexcrichton
Copy link
Member Author

This commit also notably stabilizes no_std as-is. It didn't seem like there was enough thrust and consensus on #27701 for renaming .

@bors
Copy link
Contributor

bors commented Dec 4, 2015

☔ The latest upstream changes (presumably #30190) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton alexcrichton force-pushed the stabilize-1.6 branch 2 times, most recently from 6daf10b to ee96823 Compare December 4, 2015 19:41
@brson brson added the relnotes Marks issues that should be documented in the release notes of the next release. label Dec 4, 2015
@@ -527,6 +526,7 @@ impl<I: ExactSizeIterator + ?Sized> ExactSizeIterator for Box<I> {}
/// ```
#[rustc_paren_sugar]
#[unstable(feature = "fnbox", reason = "Newly introduced", issue = "0")]
#[fundamental]
Copy link
Member

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.

Copy link
Member Author

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

@aturon
Copy link
Member

aturon commented Dec 4, 2015

This LGTM. We should figure out a story for the libcore docs eventually, but it shouldn't block this PR.

@alexcrichton
Copy link
Member Author

@bors: r=aturon ba5bb32

@bors
Copy link
Contributor

bors commented Dec 5, 2015

⌛ Testing commit ba5bb32 with merge b2538d2...

@bors
Copy link
Contributor

bors commented Dec 5, 2015

💔 Test failed - auto-linux-64-opt

@alexcrichton
Copy link
Member Author

@bors: r=aturon 8c3ec7be58b38adb5c292ccb5ae386600037b7c1

@bors
Copy link
Contributor

bors commented Dec 5, 2015

⌛ Testing commit 8c3ec7b with merge 70208d4...

@bors
Copy link
Contributor

bors commented Dec 5, 2015

💔 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
@alexcrichton
Copy link
Member Author

@bors: r=aturon 464cdff

@bors
Copy link
Contributor

bors commented Dec 6, 2015

⌛ Testing commit 464cdff with merge f1cd20a...

@bors
Copy link
Contributor

bors commented Dec 6, 2015

💔 Test failed - auto-win-gnu-64-nopt-t

@bluss
Copy link
Member

bluss commented Dec 6, 2015

@bors retry

@bors
Copy link
Contributor

bors commented Dec 6, 2015

⌛ Testing commit 464cdff with merge c4b1638...

bors added a commit that referenced this pull request Dec 6, 2015
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment