diff options
| author | bors <bors@rust-lang.org> | 2015-12-06 04:12:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-12-06 04:12:54 +0000 |
| commit | c4b16384f101bbe28dc4eec0651a61cb9d5274ac (patch) | |
| tree | 728e8349c32af47f9985c47a55661c3a229a0571 /src/libsyntax | |
| parent | bf79ffada63fd0ad4cb0f5a0366680d27cf78ad4 (diff) | |
| parent | 464cdff102993ff1900eebbf65209e0a3c0be0d5 (diff) | |
| download | rust-c4b16384f101bbe28dc4eec0651a61cb9d5274ac.tar.gz rust-c4b16384f101bbe28dc4eec0651a61cb9d5274ac.zip | |
Auto merge of #30187 - alexcrichton:stabilize-1.6, r=aturon
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
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/quote.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/feature_gate.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/lib.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 12 |
4 files changed, 8 insertions, 13 deletions
diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index fc6cacb40f1..496f6a429a3 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -178,7 +178,7 @@ pub mod rt { let mut v = vec![]; for (i, x) in self.iter().enumerate() { if i > 0 { - v.push_all(&$sep); + v.extend_from_slice(&$sep); } v.extend(x.to_tokens(cx)); } diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index e00c3e3bea4..c456b7dc8b9 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -132,7 +132,7 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status ("unmarked_api", "1.0.0", None, Active), // Allows using #![no_std] - ("no_std", "1.0.0", Some(27701), Active), + ("no_std", "1.0.0", None, Accepted), // Allows using #![no_core] ("no_core", "1.3.0", Some(29639), Active), @@ -286,8 +286,7 @@ pub const KNOWN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeGat ("plugin", CrateLevel, Gated("plugin", "compiler plugins are experimental \ and possibly buggy")), - ("no_std", CrateLevel, Gated("no_std", - "no_std is experimental")), + ("no_std", CrateLevel, Ungated), ("no_core", CrateLevel, Gated("no_core", "no_core is experimental")), ("lang", Normal, Gated("lang_items", diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index 9401999465b..4498120a78f 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -29,7 +29,6 @@ #![cfg_attr(stage0, feature(rustc_attrs))] #![cfg_attr(stage0, allow(unused_attributes))] #![feature(associated_consts)] -#![feature(drain)] #![feature(filling_drop)] #![feature(libc)] #![feature(rustc_private)] @@ -37,7 +36,6 @@ #![feature(str_char)] #![feature(str_escape)] #![feature(unicode)] -#![feature(vec_push_all)] extern crate fmt_macros; extern crate serialize; diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index aa55cb847fa..f7105951296 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -120,17 +120,15 @@ pub fn print_crate<'a>(cm: &'a CodeMap, // However we don't want these attributes in the AST because // of the feature gate, so we fake them up here. - let no_std_meta = attr::mk_word_item(InternedString::new("no_std")); + // #![feature(prelude_import)] let prelude_import_meta = attr::mk_word_item(InternedString::new("prelude_import")); - - // #![feature(no_std)] - let fake_attr = attr::mk_attr_inner(attr::mk_attr_id(), - attr::mk_list_item(InternedString::new("feature"), - vec![no_std_meta.clone(), - prelude_import_meta])); + let list = attr::mk_list_item(InternedString::new("feature"), + vec![prelude_import_meta]); + let fake_attr = attr::mk_attr_inner(attr::mk_attr_id(), list); try!(s.print_attribute(&fake_attr)); // #![no_std] + let no_std_meta = attr::mk_word_item(InternedString::new("no_std")); let fake_attr = attr::mk_attr_inner(attr::mk_attr_id(), no_std_meta); try!(s.print_attribute(&fake_attr)); } |
