Remove 'since' from unstable attributes

This commit is contained in:
Brian Anderson 2015-01-21 16:15:40 -08:00
parent 0768892abe
commit 41278c5441
131 changed files with 695 additions and 690 deletions

View File

@ -94,11 +94,15 @@ for (dirpath, dirnames, filenames) in os.walk(src_dir):
# the same line, e.g.
# `#[unstable(feature = "foo", since = "1.0.0")]`
p = re.compile('feature *= *"(\w*)".*since *= *"([\w\.]*)"')
p = re.compile('(unstable|stable|deprecated).*feature *= *"(\w*)"')
m = p.search(line)
if not m is None:
feature_name = m.group(1)
since = m.group(2)
feature_name = m.group(2)
since = None
if "stable" in line or "deprecated" in line:
pp = re.compile('since *= *"([\w\.]*)"')
mm = pp.search(line)
since = m.group(1)
lib_features[feature_name] = feature_name
if lib_features_and_level.get((feature_name, level)) is None:
# Add it to the observed features

View File

@ -126,7 +126,7 @@ unsafe impl<T: Sync + Send> Sync for Arc<T> { }
/// Weak pointers will not keep the data inside of the `Arc` alive, and can be used to break cycles
/// between `Arc` pointers.
#[unsafe_no_drop_flag]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
pub struct Weak<T> {
// FIXME #12808: strange name to try to avoid interfering with
@ -180,7 +180,7 @@ impl<T> Arc<T> {
///
/// let weak_five = five.downgrade();
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
pub fn downgrade(&self) -> Weak<T> {
// See the clone() impl for why this is relaxed
@ -202,12 +202,12 @@ impl<T> Arc<T> {
/// Get the number of weak references to this value.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn weak_count<T>(this: &Arc<T>) -> uint { this.inner().weak.load(SeqCst) - 1 }
/// Get the number of strong references to this value.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn strong_count<T>(this: &Arc<T>) -> uint { this.inner().strong.load(SeqCst) }
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -273,7 +273,7 @@ impl<T: Send + Sync + Clone> Arc<T> {
/// let mut_five = five.make_unique();
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn make_unique(&mut self) -> &mut T {
// Note that we hold a strong reference, which also counts as a weak reference, so we only
// clone if there is an additional reference of either kind.
@ -357,7 +357,7 @@ impl<T: Sync + Send> Drop for Arc<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
impl<T: Sync + Send> Weak<T> {
/// Upgrades a weak reference to a strong reference.
@ -396,7 +396,7 @@ impl<T: Sync + Send> Weak<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
impl<T: Sync + Send> Clone for Weak<T> {
/// Makes a clone of the `Weak<T>`.

View File

@ -44,7 +44,7 @@ use core::ops::{Deref, DerefMut};
/// }
/// ```
#[lang = "exchange_heap"]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed; uncertain about custom allocator design")]
pub static HEAP: () = ();
@ -126,7 +126,7 @@ impl<S: hash::Hasher, T: ?Sized + Hash<S>> Hash<S> for Box<T> {
}
/// Extension methods for an owning `Any` trait object.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this trait will likely disappear once compiler bugs blocking \
a direct impl on `Box<Any>` have been fixed ")]
// FIXME(#18737): this should be a direct impl on `Box<Any>`. If you're

View File

@ -80,7 +80,7 @@ pub fn usable_size(size: uint, align: uint) -> uint {
///
/// These statistics may be inconsistent if other threads use the allocator
/// during the call.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn stats_print() {
imp::stats_print();
}

View File

@ -57,7 +57,7 @@
//! default global allocator. It is not compatible with the libc allocator API.
#![crate_name = "alloc"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",

View File

@ -268,7 +268,7 @@ impl<T> Rc<T> {
/// let weak_five = five.downgrade();
/// ```
#[cfg(stage0)] // NOTE remove after next snapshot
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module")]
pub fn downgrade(&self) -> Weak<T> {
self.inc_weak();
@ -291,7 +291,7 @@ impl<T> Rc<T> {
/// let weak_five = five.downgrade();
/// ```
#[cfg(not(stage0))] // NOTE remove cfg after next snapshot
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module")]
pub fn downgrade(&self) -> Weak<T> {
self.inc_weak();
@ -301,12 +301,12 @@ impl<T> Rc<T> {
/// Get the number of weak references to this value.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn weak_count<T>(this: &Rc<T>) -> uint { this.weak() - 1 }
/// Get the number of strong references to this value.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn strong_count<T>(this: &Rc<T>) -> uint { this.strong() }
/// Returns true if there are no other `Rc` or `Weak<T>` values that share the same inner value.
@ -322,7 +322,7 @@ pub fn strong_count<T>(this: &Rc<T>) -> uint { this.strong() }
/// rc::is_unique(&five);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn is_unique<T>(rc: &Rc<T>) -> bool {
weak_count(rc) == 0 && strong_count(rc) == 1
}
@ -344,7 +344,7 @@ pub fn is_unique<T>(rc: &Rc<T>) -> bool {
/// assert_eq!(rc::try_unwrap(x), Err(Rc::new(4u)));
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn try_unwrap<T>(rc: Rc<T>) -> Result<T, Rc<T>> {
if is_unique(&rc) {
unsafe {
@ -378,7 +378,7 @@ pub fn try_unwrap<T>(rc: Rc<T>) -> Result<T, Rc<T>> {
/// assert!(rc::get_mut(&mut x).is_none());
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn get_mut<'a, T>(rc: &'a mut Rc<T>) -> Option<&'a mut T> {
if is_unique(rc) {
let inner = unsafe { &mut **rc._ptr };
@ -404,7 +404,7 @@ impl<T: Clone> Rc<T> {
/// let mut_five = five.make_unique();
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn make_unique(&mut self) -> &mut T {
if !is_unique(self) {
*self = Rc::new((**self).clone())
@ -695,7 +695,7 @@ impl<S: hash::Hasher, T: Hash<S>> Hash<S> for Rc<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "Show is experimental.")]
#[unstable(feature = "unnamed_feature", reason = "Show is experimental.")]
impl<T: fmt::Show> fmt::Show for Rc<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Rc({:?})", **self)
@ -716,7 +716,7 @@ impl<T: fmt::String> fmt::String for Rc<T> {
/// See the [module level documentation](../index.html) for more.
#[unsafe_no_drop_flag]
#[cfg(stage0)] // NOTE remove impl after next snapshot
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
pub struct Weak<T> {
// FIXME #12808: strange names to try to avoid interfering with
@ -732,7 +732,7 @@ pub struct Weak<T> {
///
/// See the [module level documentation](../index.html) for more.
#[unsafe_no_drop_flag]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
#[cfg(not(stage0))] // NOTE remove cfg after next snapshot
pub struct Weak<T> {
@ -748,7 +748,7 @@ impl<T> !marker::Send for Weak<T> {}
impl<T> !marker::Sync for Weak<T> {}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
impl<T> Weak<T> {
/// Upgrades a weak reference to a strong reference.
@ -850,7 +850,7 @@ impl<T> Drop for Weak<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Weak pointers may not belong in this module.")]
impl<T> Clone for Weak<T> {
/// Makes a clone of the `Weak<T>`.
@ -894,7 +894,7 @@ impl<T> Clone for Weak<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "Show is experimental.")]
#[unstable(feature = "unnamed_feature", reason = "Show is experimental.")]
impl<T: fmt::Show> fmt::Show for Weak<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "(Weak)")

View File

@ -20,7 +20,7 @@
//! more complex, slower arena which can hold objects of any type.
#![crate_name = "arena"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![crate_type = "dylib"]

View File

@ -551,7 +551,7 @@ impl<T: Ord> BinaryHeap<T> {
/// Clears the binary heap, returning an iterator over the removed elements.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain(&mut self) -> Drain<T> {
Drain { iter: self.data.drain() }
@ -623,7 +623,7 @@ impl<T> DoubleEndedIterator for IntoIter<T> {
impl<T> ExactSizeIterator for IntoIter<T> {}
/// An iterator that drains a `BinaryHeap`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recent addition")]
#[unstable(feature = "unnamed_feature", reason = "recent addition")]
pub struct Drain<'a, T: 'a> {
iter: vec::Drain<'a, T>,
}

View File

@ -156,7 +156,7 @@ static FALSE: bool = false;
/// println!("{:?}", bv);
/// println!("total bits set to true: {}", bv.iter().filter(|x| *x).count());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "RFC 509")]
pub struct Bitv {
/// Internal representation of the bit vector
@ -403,7 +403,7 @@ impl Bitv {
/// assert_eq!(bv[3], true);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "panic semantics are likely to change in the future")]
pub fn set(&mut self, i: uint, x: bool) {
assert!(i < self.nbits);
@ -1109,7 +1109,7 @@ impl<'a> RandomAccessIterator for Iter<'a> {
/// assert!(bv[3]);
/// ```
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "RFC 509")]
pub struct BitvSet {
bitv: Bitv,

View File

@ -136,7 +136,7 @@ pub struct RangeMut<'a, K: 'a, V: 'a> {
}
/// A view into a single entry in a map, which may either be vacant or occupied.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still under development")]
pub enum Entry<'a, K:'a, V:'a> {
/// A vacant Entry
@ -146,7 +146,7 @@ pub enum Entry<'a, K:'a, V:'a> {
}
/// A vacant Entry.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still under development")]
pub struct VacantEntry<'a, K:'a, V:'a> {
key: K,
@ -154,7 +154,7 @@ pub struct VacantEntry<'a, K:'a, V:'a> {
}
/// An occupied Entry.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still under development")]
pub struct OccupiedEntry<'a, K:'a, V:'a> {
stack: stack::SearchStack<'a, K, V, node::handle::KV, node::handle::LeafOrInternal>,
@ -1099,7 +1099,7 @@ impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V> {
}
impl<'a, K: Ord, V> Entry<'a, K, V> {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
/// Returns a mutable reference to the entry if occupied, or the VacantEntry if vacant
pub fn get(self) -> Result<&'a mut V, VacantEntry<'a, K, V>> {
@ -1113,7 +1113,7 @@ impl<'a, K: Ord, V> Entry<'a, K, V> {
impl<'a, K: Ord, V> VacantEntry<'a, K, V> {
/// Sets the value of the entry with the VacantEntry's key,
/// and returns a mutable reference to it.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn insert(self, value: V) -> &'a mut V {
self.stack.insert(self.key, value)
@ -1122,21 +1122,21 @@ impl<'a, K: Ord, V> VacantEntry<'a, K, V> {
impl<'a, K: Ord, V> OccupiedEntry<'a, K, V> {
/// Gets a reference to the value in the entry.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn get(&self) -> &V {
self.stack.peek()
}
/// Gets a mutable reference to the value in the entry.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn get_mut(&mut self) -> &mut V {
self.stack.peek_mut()
}
/// Converts the entry into a mutable reference to its value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn into_mut(self) -> &'a mut V {
self.stack.into_top()
@ -1144,7 +1144,7 @@ impl<'a, K: Ord, V> OccupiedEntry<'a, K, V> {
/// Sets the value of the entry with the OccupiedEntry's key,
/// and returns the entry's old value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn insert(&mut self, mut value: V) -> V {
mem::swap(self.stack.peek_mut(), &mut value);
@ -1152,7 +1152,7 @@ impl<'a, K: Ord, V> OccupiedEntry<'a, K, V> {
}
/// Takes the value of the entry out of the map, and returns it.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
pub fn remove(self) -> V {
self.stack.remove()
@ -1480,7 +1480,7 @@ impl<K: Ord, V> BTreeMap<K, V> {
/// }
/// assert_eq!(Some((&5u, &"b")), map.range(Included(&4), Unbounded).next());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn range<'a>(&'a self, min: Bound<&K>, max: Bound<&K>) -> Range<'a, K, V> {
range_impl!(&self.root, min, max, as_slices_internal, iter, Range, edges, [])
@ -1507,7 +1507,7 @@ impl<K: Ord, V> BTreeMap<K, V> {
/// println!("{} => {}", name, balance);
/// }
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn range_mut<'a>(&'a mut self, min: Bound<&K>, max: Bound<&K>) -> RangeMut<'a, K, V> {
range_impl!(&mut self.root, min, max, as_slices_internal_mut, iter_mut, RangeMut,
@ -1540,7 +1540,7 @@ impl<K: Ord, V> BTreeMap<K, V> {
/// assert_eq!(count["a"], 3u);
/// ```
/// The key must have the same ordering before or after `.to_owned()` is called.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still under development")]
pub fn entry<'a>(&'a mut self, mut key: K) -> Entry<'a, K, V> {
// same basic logic of `swap` and `pop`, blended together

View File

@ -102,7 +102,7 @@ impl<T: Ord> BTreeSet<T> {
/// Makes a new BTreeSet with the given B.
///
/// B cannot be less than 2.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "probably want this to be on the type, eventually")]
pub fn with_b(b: uint) -> BTreeSet<T> {
BTreeSet { map: BTreeMap::with_b(b) }
@ -173,7 +173,7 @@ impl<T: Ord> BTreeSet<T> {
/// }
/// assert_eq!(Some(&5u), set.range(Included(&4), Unbounded).next());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn range<'a>(&'a self, min: Bound<&T>, max: Bound<&T>) -> Range<'a, T> {
fn first<A, B>((a, _): (A, B)) -> A { a }

View File

@ -770,7 +770,7 @@ impl<'a, A> IterMut<'a, A> {
/// }
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this is probably better handled by a cursor type -- we'll see")]
pub fn insert_next(&mut self, elt: A) {
self.insert_next_node(box Node::new(elt))
@ -792,7 +792,7 @@ impl<'a, A> IterMut<'a, A> {
/// assert_eq!(it.next().unwrap(), &2);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this is probably better handled by a cursor type -- we'll see")]
pub fn peek_next(&mut self) -> Option<&mut A> {
if self.nelem == 0 {

View File

@ -82,21 +82,21 @@ fn bit<E:CLike>(e: &E) -> uint {
impl<E:CLike> EnumSet<E> {
/// Returns an empty `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn new() -> EnumSet<E> {
EnumSet {bits: 0}
}
/// Returns the number of elements in the given `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn len(&self) -> uint {
self.bits.count_ones()
}
/// Returns true if the `EnumSet` is empty.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn is_empty(&self) -> bool {
self.bits == 0
@ -107,21 +107,21 @@ impl<E:CLike> EnumSet<E> {
}
/// Returns `false` if the `EnumSet` contains any enum of the given `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn is_disjoint(&self, other: &EnumSet<E>) -> bool {
(self.bits & other.bits) == 0
}
/// Returns `true` if a given `EnumSet` is included in this `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn is_superset(&self, other: &EnumSet<E>) -> bool {
(self.bits & other.bits) == other.bits
}
/// Returns `true` if this `EnumSet` is included in the given `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn is_subset(&self, other: &EnumSet<E>) -> bool {
other.is_superset(self)
@ -138,7 +138,7 @@ impl<E:CLike> EnumSet<E> {
}
/// Adds an enum to the `EnumSet`, and returns `true` if it wasn't there before
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn insert(&mut self, e: E) -> bool {
let result = !self.contains(&e);
@ -147,7 +147,7 @@ impl<E:CLike> EnumSet<E> {
}
/// Removes an enum from the EnumSet
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn remove(&mut self, e: &E) -> bool {
let result = self.contains(e);
@ -156,14 +156,14 @@ impl<E:CLike> EnumSet<E> {
}
/// Returns `true` if an `EnumSet` contains a given enum.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn contains(&self, e: &E) -> bool {
(self.bits & bit(e)) != 0
}
/// Returns an iterator over an `EnumSet`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn iter(&self) -> Iter<E> {
Iter::new(self.bits)

View File

@ -14,7 +14,7 @@
#![crate_name = "collections"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
@ -70,13 +70,13 @@ pub mod string;
pub mod vec;
pub mod vec_map;
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "RFC 509")]
pub mod bitv {
pub use bit::{Bitv, Iter};
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "RFC 509")]
pub mod bitv_set {
pub use bit::{BitvSet, Union, Intersection, Difference, SymmetricDifference};

View File

@ -480,7 +480,7 @@ impl<T> RingBuf<T> {
/// assert_eq!(buf.len(), 1);
/// assert_eq!(Some(&5), buf.get(0));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification; waiting on panic semantics")]
pub fn truncate(&mut self, len: uint) {
for _ in range(len, self.len()) {
@ -550,7 +550,7 @@ impl<T> RingBuf<T> {
/// Returns a pair of slices which contain, in order, the contents of the
/// `RingBuf`.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn as_slices<'a>(&'a self) -> (&'a [T], &'a [T]) {
unsafe {
@ -570,7 +570,7 @@ impl<T> RingBuf<T> {
/// Returns a pair of slices which contain, in order, the contents of the
/// `RingBuf`.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn as_mut_slices<'a>(&'a mut self) -> (&'a mut [T], &'a mut [T]) {
unsafe {
@ -635,7 +635,7 @@ impl<T> RingBuf<T> {
/// assert!(v.is_empty());
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain(&mut self) -> Drain<T> {
Drain {
@ -876,7 +876,7 @@ impl<T> RingBuf<T> {
/// buf.push_back(10);
/// assert_eq!(buf.swap_back_remove(1), Some(99));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the naming of this function may be altered")]
pub fn swap_back_remove(&mut self, index: uint) -> Option<T> {
let length = self.len();
@ -909,7 +909,7 @@ impl<T> RingBuf<T> {
/// buf.push_back(20i);
/// assert_eq!(buf.swap_front_remove(3), Some(99));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the naming of this function may be altered")]
pub fn swap_front_remove(&mut self, index: uint) -> Option<T> {
let length = self.len();
@ -1310,7 +1310,7 @@ impl<T: Clone> RingBuf<T> {
/// assert_eq!(a, b);
/// }
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification; waiting on panic semantics")]
pub fn resize(&mut self, new_len: uint, value: T) {
let len = self.len();
@ -1500,7 +1500,7 @@ impl<T> DoubleEndedIterator for IntoIter<T> {
impl<T> ExactSizeIterator for IntoIter<T> {}
/// A draining RingBuf iterator
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub struct Drain<'a, T: 'a> {
inner: &'a mut RingBuf<T>,

View File

@ -166,7 +166,7 @@ pub trait SliceExt {
/// assert_eq!(num_moved, 3);
/// assert!(a == [6i, 7, 8, 4, 5]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about this API approach")]
fn move_from(&mut self, src: Vec<Self::Item>, start: uint, end: uint) -> uint;
@ -176,7 +176,7 @@ pub trait SliceExt {
/// original slice (i.e. when `end > self.len()`) or when `start > end`.
///
/// Slicing with `start` equal to `end` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice(&self, start: uint, end: uint) -> &[Self::Item];
@ -185,7 +185,7 @@ pub trait SliceExt {
/// Panics when `start` is strictly greater than the length of the original slice.
///
/// Slicing from `self.len()` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice_from(&self, start: uint) -> &[Self::Item];
@ -194,7 +194,7 @@ pub trait SliceExt {
/// Panics when `end` is strictly greater than the length of the original slice.
///
/// Slicing to `0` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice_to(&self, end: uint) -> &[Self::Item];
@ -288,11 +288,11 @@ pub trait SliceExt {
fn first(&self) -> Option<&Self::Item>;
/// Returns all but the first element of a slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be renamed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be renamed")]
fn tail(&self) -> &[Self::Item];
/// Returns all but the last element of a slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be renamed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be renamed")]
fn init(&self) -> &[Self::Item];
/// Returns the last element of a slice, or `None` if it is empty.
@ -388,7 +388,7 @@ pub trait SliceExt {
/// original slice (i.e. when `end > self.len()`) or when `start > end`.
///
/// Slicing with `start` equal to `end` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice_mut(&mut self, start: uint, end: uint) -> &mut [Self::Item];
@ -397,7 +397,7 @@ pub trait SliceExt {
/// Panics when `start` is strictly greater than the length of the original slice.
///
/// Slicing from `self.len()` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice_from_mut(&mut self, start: uint) -> &mut [Self::Item];
@ -406,7 +406,7 @@ pub trait SliceExt {
/// Panics when `end` is strictly greater than the length of the original slice.
///
/// Slicing to `0` yields an empty slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
fn slice_to_mut(&mut self, end: uint) -> &mut [Self::Item];
@ -419,12 +419,12 @@ pub trait SliceExt {
fn first_mut(&mut self) -> Option<&mut Self::Item>;
/// Returns all but the first element of a mutable slice
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be renamed or removed")]
fn tail_mut(&mut self) -> &mut [Self::Item];
/// Returns all but the last element of a mutable slice
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be renamed or removed")]
fn init_mut(&mut self) -> &mut [Self::Item];
@ -577,7 +577,7 @@ pub trait SliceExt {
/// assert_eq!(Some(vec![1i, 3, 2]), perms.next());
/// assert_eq!(Some(vec![3i, 1, 2]), perms.next());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn permutations(&self) -> Permutations<Self::Item> where Self::Item: Clone;
/// Copies as many elements from `src` as it can into `self` (the
@ -597,7 +597,7 @@ pub trait SliceExt {
/// assert!(dst.clone_from_slice(&src2) == 3);
/// assert!(dst == [3i, 4, 5]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn clone_from_slice(&mut self, &[Self::Item]) -> uint where Self::Item: Clone;
/// Sorts the slice, in place.
@ -663,7 +663,7 @@ pub trait SliceExt {
/// let b: &mut [_] = &mut [1i, 0, 2];
/// assert!(v == b);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain if this merits inclusion in std")]
fn next_permutation(&mut self) -> bool where Self::Item: Ord;
@ -683,16 +683,16 @@ pub trait SliceExt {
/// let b: &mut [_] = &mut [0i, 1, 2];
/// assert!(v == b);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain if this merits inclusion in std")]
fn prev_permutation(&mut self) -> bool where Self::Item: Ord;
/// Find the first index containing a matching value.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn position_elem(&self, t: &Self::Item) -> Option<uint> where Self::Item: PartialEq;
/// Find the last index containing a matching value.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn rposition_elem(&self, t: &Self::Item) -> Option<uint> where Self::Item: PartialEq;
/// Return true if the slice contains an element with the given value.
@ -708,7 +708,7 @@ pub trait SliceExt {
fn ends_with(&self, needle: &[Self::Item]) -> bool where Self::Item: PartialEq;
/// Convert `self` into a vector without clones or allocation.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn into_vec(self: Box<Self>) -> Vec<Self::Item>;
}
@ -1000,7 +1000,7 @@ impl<T> SliceExt for [T] {
////////////////////////////////////////////////////////////////////////////////
// Extension traits for slices over specific kinds of data
////////////////////////////////////////////////////////////////////////////////
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "U should be an associated type")]
#[unstable(feature = "unnamed_feature", reason = "U should be an associated type")]
/// An extension trait for concatenating slices
pub trait SliceConcatExt<T: ?Sized, U> {
/// Flattens a slice of `T` into a single value `U`.
@ -1045,7 +1045,7 @@ impl<T: Clone, V: AsSlice<T>> SliceConcatExt<T, Vec<T>> for [V] {
///
/// The last generated swap is always (0, 1), and it returns the
/// sequence to its initial order.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[derive(Clone)]
pub struct ElementSwaps {
sdir: Vec<SizeDirection>,
@ -1057,7 +1057,7 @@ pub struct ElementSwaps {
impl ElementSwaps {
/// Creates an `ElementSwaps` iterator for a sequence of `length` elements.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn new(length: uint) -> ElementSwaps {
// Initialize `sdir` with a direction that position should move in
// (all negative at the beginning) and the `size` of the
@ -1074,17 +1074,17 @@ impl ElementSwaps {
// Standard trait implementations for slices
////////////////////////////////////////////////////////////////////////////////
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl<T> BorrowFrom<Vec<T>> for [T] {
fn borrow_from(owned: &Vec<T>) -> &[T] { &owned[] }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl<T> BorrowFromMut<Vec<T>> for [T] {
fn borrow_from_mut(owned: &mut Vec<T>) -> &mut [T] { &mut owned[] }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl<T: Clone> ToOwned<Vec<T>> for [T] {
fn to_owned(&self) -> Vec<T> { self.to_vec() }
}
@ -1166,13 +1166,13 @@ impl Iterator for ElementSwaps {
/// swap applied.
///
/// Generates even and odd permutations alternately.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Permutations<T> {
swaps: ElementSwaps,
v: Vec<T>,
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl<T: Clone> Iterator for Permutations<T> {
type Item = Vec<T>;

View File

@ -165,7 +165,7 @@ enum DecompositionType {
/// External iterator for a string's decomposition's characters.
/// Use with the `std::iter` module.
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Decompositions<'a> {
kind: DecompositionType,
iter: Chars<'a>,
@ -255,7 +255,7 @@ enum RecompositionState {
/// External iterator for a string's recomposition's characters.
/// Use with the `std::iter` module.
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Recompositions<'a> {
iter: Decompositions<'a>,
state: RecompositionState,
@ -352,7 +352,7 @@ impl<'a> Iterator for Recompositions<'a> {
/// External iterator for a string's UTF16 codeunits.
/// Use with the `std::iter` module.
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Utf16Units<'a> {
encoder: Utf16Encoder<Chars<'a>>
}
@ -384,12 +384,12 @@ macro_rules! utf8_acc_cont_byte {
($ch:expr, $byte:expr) => (($ch << 6) | ($byte & 63u8) as u32)
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl BorrowFrom<String> for str {
fn borrow_from(owned: &String) -> &str { &owned[] }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl ToOwned<String> for str {
fn to_owned(&self) -> String {
unsafe {
@ -410,14 +410,14 @@ Section: Trait implementations
#[stable(feature = "grandfathered", since = "1.0.0")]
pub trait StrExt: Index<FullRange, Output = str> {
/// Escapes each char in `s` with `char::escape_default`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return type may change to be an iterator")]
fn escape_default(&self) -> String {
self.chars().flat_map(|c| c.escape_default()).collect()
}
/// Escapes each char in `s` with `char::escape_unicode`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return type may change to be an iterator")]
fn escape_unicode(&self) -> String {
self.chars().flat_map(|c| c.escape_unicode()).collect()
@ -463,7 +463,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// Returns an iterator over the string in Unicode Normalization Form D
/// (canonical decomposition).
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may be moved to libunicode")]
fn nfd_chars<'a>(&'a self) -> Decompositions<'a> {
Decompositions {
@ -477,7 +477,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// Returns an iterator over the string in Unicode Normalization Form KD
/// (compatibility decomposition).
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may be moved to libunicode")]
fn nfkd_chars<'a>(&'a self) -> Decompositions<'a> {
Decompositions {
@ -491,7 +491,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// An Iterator over the string in Unicode Normalization Form C
/// (canonical decomposition followed by canonical composition).
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may be moved to libunicode")]
fn nfc_chars<'a>(&'a self) -> Recompositions<'a> {
Recompositions {
@ -506,7 +506,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// An Iterator over the string in Unicode Normalization Form KC
/// (compatibility decomposition followed by canonical composition).
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may be moved to libunicode")]
fn nfkc_chars<'a>(&'a self) -> Recompositions<'a> {
Recompositions {
@ -545,7 +545,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// ```rust
/// assert!("hello".contains_char('e'));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might get removed in favour of a more generic contains()")]
fn contains_char<P: CharEq>(&self, pat: P) -> bool {
core_str::StrExt::contains_char(&self[], pat)
@ -658,7 +658,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// let v: Vec<&str> = "lionXXtigerXleopard".split('X').rev().collect();
/// assert_eq!(v, vec!["leopard", "tiger", "", "lion"]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "might get removed")]
#[unstable(feature = "unnamed_feature", reason = "might get removed")]
fn split_terminator<P: CharEq>(&self, pat: P) -> SplitTerminator<P> {
core_str::StrExt::split_terminator(&self[], pat)
}
@ -704,7 +704,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// let v: Vec<(uint, uint)> = "ababa".match_indices("aba").collect();
/// assert_eq!(v, vec![(0, 3)]); // only the first `aba`
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might have its iterator type changed")]
fn match_indices<'a>(&'a self, pat: &'a str) -> MatchIndices<'a> {
core_str::StrExt::match_indices(&self[], pat)
@ -721,7 +721,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// let v: Vec<&str> = "1abcabc2".split_str("abc").collect();
/// assert_eq!(v, vec!["1", "", "2"]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might get removed in the future in favor of a more generic split()")]
fn split_str<'a>(&'a self, pat: &'a str) -> SplitStr<'a> {
core_str::StrExt::split_str(&self[], pat)
@ -789,7 +789,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// // byte 100 is outside the string
/// // s.slice(3, 100);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "use slice notation [a..b] instead")]
fn slice(&self, begin: uint, end: uint) -> &str {
core_str::StrExt::slice(&self[], begin, end)
@ -803,7 +803,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// out of bounds.
///
/// See also `slice`, `slice_to` and `slice_chars`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "use slice notation [a..] instead")]
fn slice_from(&self, begin: uint) -> &str {
core_str::StrExt::slice_from(&self[], begin)
@ -818,7 +818,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// out of bounds.
///
/// See also `slice`, `slice_from` and `slice_chars`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "use slice notation [..a] instead")]
fn slice_to(&self, end: uint) -> &str {
core_str::StrExt::slice_to(&self[], end)
@ -847,7 +847,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// assert_eq!(s.slice_chars(0, 4), "Löwe");
/// assert_eq!(s.slice_chars(5, 7), "老虎");
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may have yet to prove its worth")]
fn slice_chars(&self, begin: uint, end: uint) -> &str {
core_str::StrExt::slice_chars(&self[], begin, end)
@ -971,7 +971,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// // third byte of `老`
/// assert!(!s.is_char_boundary(8));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
fn is_char_boundary(&self, index: uint) -> bool {
core_str::StrExt::is_char_boundary(&self[], index)
@ -1030,7 +1030,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
///
/// If `i` is greater than or equal to the length of the string.
/// If `i` is not the index of the beginning of a valid UTF-8 character.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
fn char_range_at(&self, start: uint) -> CharRange {
core_str::StrExt::char_range_at(&self[], start)
@ -1046,7 +1046,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
///
/// If `i` is greater than the length of the string.
/// If `i` is not an index following a valid UTF-8 character.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
fn char_range_at_reverse(&self, start: uint) -> CharRange {
core_str::StrExt::char_range_at_reverse(&self[], start)
@ -1067,7 +1067,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
///
/// If `i` is greater than or equal to the length of the string.
/// If `i` is not the index of the beginning of a valid UTF-8 character.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
fn char_at(&self, i: uint) -> char {
core_str::StrExt::char_at(&self[], i)
@ -1079,7 +1079,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
///
/// If `i` is greater than the length of the string.
/// If `i` is not an index following a valid UTF-8 character.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
fn char_at_reverse(&self, i: uint) -> char {
core_str::StrExt::char_at_reverse(&self[], i)
@ -1172,7 +1172,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// assert_eq!(s.find_str("老虎 L"), Some(6));
/// assert_eq!(s.find_str("muffin man"), None);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might get removed in favor of a more generic find in the future")]
fn find_str(&self, needle: &str) -> Option<uint> {
core_str::StrExt::find_str(&self[], needle)
@ -1196,7 +1196,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// assert_eq!(c, 'ö');
/// assert_eq!(s2, "we 老虎 Léopard");
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "awaiting conventions about shifting and slices")]
fn slice_shift_char(&self) -> Option<(char, &str)> {
core_str::StrExt::slice_shift_char(&self[])
@ -1216,7 +1216,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// assert!(string.subslice_offset(lines[1]) == 2); // &"b"
/// assert!(string.subslice_offset(lines[2]) == 4); // &"c"
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "awaiting convention about comparability of arbitrary slices")]
fn subslice_offset(&self, inner: &str) -> uint {
core_str::StrExt::subslice_offset(&self[], inner)
@ -1234,7 +1234,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
}
/// Return an iterator of `u16` over the string encoded as UTF-16.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may only be provided by libunicode")]
fn utf16_units(&self) -> Utf16Units {
Utf16Units { encoder: Utf16Encoder::new(self[].chars()) }
@ -1276,7 +1276,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// assert_eq!("j".parse::<u32>(), None);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this method was just created")]
fn parse<F: FromStr>(&self) -> Option<F> {
core_str::StrExt::parse(&self[])
@ -1301,7 +1301,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// let b: &[_] = &["a", "\r\n", "b", "🇷🇺🇸🇹"];
/// assert_eq!(gr2.as_slice(), b);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may only be provided by libunicode")]
fn graphemes(&self, is_extended: bool) -> Graphemes {
UnicodeStr::graphemes(&self[], is_extended)
@ -1317,7 +1317,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// let b: &[_] = &[(0u, "a̐"), (3, "é"), (6, "ö̲"), (11, "\r\n")];
/// assert_eq!(gr_inds.as_slice(), b);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may only be provided by libunicode")]
fn grapheme_indices(&self, is_extended: bool) -> GraphemeIndices {
UnicodeStr::grapheme_indices(&self[], is_extended)
@ -1348,7 +1348,7 @@ pub trait StrExt: Index<FullRange, Output = str> {
/// [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)
/// recommends that these characters be treated as 1 column (i.e.,
/// `is_cjk` = `false`) if the locale is unknown.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this functionality may only be provided by libunicode")]
fn width(&self, is_cjk: bool) -> uint {
UnicodeStr::width(&self[], is_cjk)

View File

@ -92,7 +92,7 @@ impl String {
/// assert_eq!(s.as_slice(), "hello");
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "needs investigation to see if to_string() can match perf")]
pub fn from_str(string: &str) -> String {
String { vec: ::slice::SliceExt::to_vec(string.as_bytes()) }
@ -725,7 +725,7 @@ impl<'a> FromIterator<&'a str> for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting on Extend stabilization")]
impl Extend<char> for String {
fn extend<I:Iterator<Item=char>>(&mut self, mut iterator: I) {
@ -737,7 +737,7 @@ impl Extend<char> for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting on Extend stabilization")]
impl<'a> Extend<&'a str> for String {
fn extend<I: Iterator<Item=&'a str>>(&mut self, mut iterator: I) {
@ -798,7 +798,7 @@ impl<'a, 'b> PartialEq<CowString<'a>> for &'b str {
fn ne(&self, other: &CowString<'a>) -> bool { PartialEq::ne(&**self, &**other) }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Str stabilization")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Str stabilization")]
impl Str for String {
#[inline]
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -824,7 +824,7 @@ impl fmt::String for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on fmt stabilization")]
#[unstable(feature = "unnamed_feature", reason = "waiting on fmt stabilization")]
impl fmt::Show for String {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
@ -832,7 +832,7 @@ impl fmt::Show for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Hash stabilization")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Hash stabilization")]
impl<H: hash::Writer + hash::Hasher> hash::Hash<H> for String {
#[inline]
fn hash(&self, hasher: &mut H) {
@ -840,7 +840,7 @@ impl<H: hash::Writer + hash::Hasher> hash::Hash<H> for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recent addition, needs more experience")]
impl<'a> Add<&'a str> for String {
type Output = String;
@ -892,7 +892,7 @@ impl ops::Deref for String {
}
/// Wrapper type providing a `&String` reference via `Deref`.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct DerefString<'a> {
x: DerefVec<'a, u8>
}
@ -920,7 +920,7 @@ impl<'a> Deref for DerefString<'a> {
/// let string = as_string("foo").clone();
/// string_consumer(string);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn as_string<'a>(x: &'a str) -> DerefString<'a> {
DerefString { x: as_vec(x.as_bytes()) }
}

View File

@ -255,7 +255,7 @@ impl<T> Vec<T> {
/// owned by the returned `Vec<T>`. The elements of the buffer are copied into the vector
/// without cloning, as if `ptr::read()` were called on them.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be better expressed via composition")]
pub unsafe fn from_raw_buf(ptr: *const T, elts: uint) -> Vec<T> {
let mut dst = Vec::with_capacity(elts);
@ -377,7 +377,7 @@ impl<T> Vec<T> {
/// Note that this will drop any excess capacity. Calling this and
/// converting back to a vector with `into_vec()` is equivalent to calling
/// `shrink_to_fit()`.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn into_boxed_slice(mut self) -> Box<[T]> {
self.shrink_to_fit();
unsafe {
@ -697,7 +697,7 @@ impl<T> Vec<T> {
/// assert_eq!(vec2, vec![]);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "new API, waiting for dust to settle")]
pub fn append(&mut self, other: &mut Self) {
if mem::size_of::<T>() == 0 {
@ -734,7 +734,7 @@ impl<T> Vec<T> {
/// assert!(v.is_empty());
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain<'a>(&'a mut self) -> Drain<'a, T> {
unsafe {
@ -817,7 +817,7 @@ impl<T> Vec<T> {
/// let newtyped_bytes = bytes.map_in_place(|x| Newtype(x));
/// assert_eq!(newtyped_bytes.as_slice(), [Newtype(0x11), Newtype(0x22)].as_slice());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "API may change to provide stronger guarantees")]
pub fn map_in_place<U, F>(self, mut f: F) -> Vec<U> where F: FnMut(T) -> U {
// FIXME: Assert statically that the types `T` and `U` have the same
@ -1012,7 +1012,7 @@ impl<T: Clone> Vec<T> {
/// vec.resize(2, 0);
/// assert_eq!(vec, vec![1, 2]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification; waiting for dust to settle")]
pub fn resize(&mut self, new_len: uint, value: T) {
let len = self.len();
@ -1037,7 +1037,7 @@ impl<T: Clone> Vec<T> {
/// assert_eq!(vec, vec![1, 2, 3, 4]);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by a more optimized extend")]
pub fn push_all(&mut self, other: &[T]) {
self.reserve(other.len());
@ -1206,7 +1206,7 @@ unsafe fn dealloc<T>(ptr: *mut T, len: uint) {
// Common trait implementations for Vec
////////////////////////////////////////////////////////////////////////////////
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<T:Clone> Clone for Vec<T> {
fn clone(&self) -> Vec<T> { ::slice::SliceExt::to_vec(self.as_slice()) }
@ -1235,7 +1235,7 @@ impl<S: hash::Writer + hash::Hasher, T: Hash<S>> Hash<S> for Vec<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Index stability")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Index stability")]
impl<T> Index<uint> for Vec<T> {
type Output = T;
@ -1339,7 +1339,7 @@ impl<T> FromIterator<T> for Vec<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Extend stability")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Extend stability")]
impl<T> Extend<T> for Vec<T> {
#[inline]
fn extend<I: Iterator<Item=T>>(&mut self, mut iterator: I) {
@ -1414,7 +1414,7 @@ macro_rules! impl_eq_for_cowvec {
impl_eq_for_cowvec! { &'b [B] }
impl_eq_for_cowvec! { &'b mut [B] }
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting on PartialOrd stability")]
impl<T: PartialOrd> PartialOrd for Vec<T> {
#[inline]
@ -1423,10 +1423,10 @@ impl<T: PartialOrd> PartialOrd for Vec<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Eq stability")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Eq stability")]
impl<T: Eq> Eq for Vec<T> {}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Ord stability")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Ord stability")]
impl<T: Ord> Ord for Vec<T> {
#[inline]
fn cmp(&self, other: &Vec<T>) -> Ordering {
@ -1457,7 +1457,7 @@ impl<T> AsSlice<T> for Vec<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recent addition, needs more experience")]
impl<'a, T: Clone> Add<&'a [T]> for Vec<T> {
type Output = Vec<T>;
@ -1494,7 +1494,7 @@ impl<T> Default for Vec<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "waiting on Show stability")]
#[unstable(feature = "unnamed_feature", reason = "waiting on Show stability")]
impl<T: fmt::Show> fmt::Show for Vec<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Show::fmt(self.as_slice(), f)
@ -1512,12 +1512,12 @@ impl<'a> fmt::Writer for Vec<u8> {
// Clone-on-write
////////////////////////////////////////////////////////////////////////////////
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unclear how valuable this alias is")]
/// A clone-on-write vector
pub type CowVec<'a, T> = Cow<'a, Vec<T>, [T]>;
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> FromIterator<T> for CowVec<'a, T> where T: Clone {
fn from_iter<I: Iterator<Item=T>>(it: I) -> CowVec<'a, T> {
Cow::Owned(FromIterator::from_iter(it))
@ -1555,7 +1555,7 @@ unsafe impl<T: Sync> Sync for IntoIter<T> { }
impl<T> IntoIter<T> {
#[inline]
/// Drops all items that have not yet been moved and returns the empty vector.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn into_inner(mut self) -> Vec<T> {
unsafe {
for _x in self { }
@ -1646,7 +1646,7 @@ impl<T> Drop for IntoIter<T> {
/// An iterator that drains a vector.
#[unsafe_no_drop_flag]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added as part of collections reform 2")]
pub struct Drain<'a, T> {
ptr: *const T,
@ -1735,13 +1735,13 @@ impl<'a, T> Drop for Drain<'a, T> {
////////////////////////////////////////////////////////////////////////////////
/// Wrapper type providing a `&Vec<T>` reference via `Deref`.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct DerefVec<'a, T> {
x: Vec<T>,
l: ContravariantLifetime<'a>
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> Deref for DerefVec<'a, T> {
type Target = Vec<T>;
@ -1761,7 +1761,7 @@ impl<'a, T> Drop for DerefVec<'a, T> {
}
/// Convert a slice to a wrapper type providing a `&Vec<T>` reference.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn as_vec<'a, T>(x: &'a [T]) -> DerefVec<'a, T> {
unsafe {
DerefVec {

View File

@ -310,7 +310,7 @@ impl<V> VecMap<V> {
///
/// assert_eq!(vec, vec![(1, "a"), (2, "b"), (3, "c")]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain<'a>(&'a mut self) -> Drain<'a, V> {
fn filter<A>((i, v): (uint, Option<A>)) -> Option<(uint, A)> {
@ -700,7 +700,7 @@ pub struct IntoIter<V> {
fn((uint, Option<V>)) -> Option<(uint, V)>>
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Drain<'a, V> {
iter: FilterMap<
(uint, Option<V>),
@ -709,7 +709,7 @@ pub struct Drain<'a, V> {
fn((uint, Option<V>)) -> Option<(uint, V)>>
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, V> Iterator for Drain<'a, V> {
type Item = (uint, V);
@ -717,7 +717,7 @@ impl<'a, V> Iterator for Drain<'a, V> {
fn size_hint(&self) -> (uint, Option<uint>) { self.iter.size_hint() }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, V> DoubleEndedIterator for Drain<'a, V> {
fn next_back(&mut self) -> Option<(uint, V)> { self.iter.next_back() }
}

View File

@ -89,7 +89,7 @@ use intrinsics;
#[stable(feature = "grandfathered", since = "1.0.0")]
pub trait Any: 'static {
/// Get the `TypeId` of `self`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this method will likely be replaced by an associated static")]
fn get_type_id(&self) -> TypeId;
}
@ -177,7 +177,7 @@ impl TypeId {
/// Returns the `TypeId` of the type this generic function has been
/// instantiated with
#[cfg(not(stage0))]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may grow a `Reflect` bound soon via marker traits")]
pub fn of<T: ?Sized + 'static>() -> TypeId {
TypeId {

View File

@ -12,7 +12,7 @@
//! up to a certain length. Eventually we should able to generalize
//! to all lengths.
#![unstable(feature = "unnamed_feature", since = "1.0.0")] // not yet reviewed
#![unstable(feature = "unnamed_feature")] // not yet reviewed
use clone::Clone;
use cmp::{PartialEq, Eq, PartialOrd, Ord, Ordering};
@ -39,7 +39,7 @@ macro_rules! array_impls {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting for Show to stabilize")]
impl<T:fmt::Show> fmt::Show for [T; $N] {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {

View File

@ -42,7 +42,7 @@
//! is desired, `to_mut` will obtain a mutable references to an owned
//! value, cloning if necessary.
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "recently added as part of collections reform")]
use clone::Clone;

View File

@ -201,7 +201,7 @@ impl<T:Copy> Cell<T> {
///
/// This function is `unsafe` because `UnsafeCell`'s field is public.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
&self.value
}
@ -271,7 +271,7 @@ impl<T> RefCell<T> {
/// immutable borrows can be taken out at the same time.
///
/// Returns `None` if the value is currently mutably borrowed.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed or removed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed or removed")]
pub fn try_borrow<'a>(&'a self) -> Option<Ref<'a, T>> {
match BorrowRef::new(&self.borrow) {
Some(b) => Some(Ref { _value: unsafe { &*self.value.get() }, _borrow: b }),
@ -301,7 +301,7 @@ impl<T> RefCell<T> {
/// cannot be borrowed while this borrow is active.
///
/// Returns `None` if the value is currently borrowed.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed or removed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed or removed")]
pub fn try_borrow_mut<'a>(&'a self) -> Option<RefMut<'a, T>> {
match BorrowRefMut::new(&self.borrow) {
Some(b) => Some(RefMut { _value: unsafe { &mut *self.value.get() }, _borrow: b }),
@ -331,7 +331,7 @@ impl<T> RefCell<T> {
///
/// This function is `unsafe` because `UnsafeCell`'s field is public.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
&self.value
}
@ -423,7 +423,7 @@ impl<'b, T> Deref for Ref<'b, T> {
///
/// A `Clone` implementation would interfere with the widespread
/// use of `r.borrow().clone()` to clone the contents of a `RefCell`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be moved to a method, pending language changes")]
pub fn clone_ref<'b, T:Clone>(orig: &Ref<'b, T>) -> Ref<'b, T> {
Ref {
@ -528,7 +528,7 @@ pub struct UnsafeCell<T> {
///
/// This field should not be accessed directly, it is made public for static
/// initializers.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub value: T,
}

View File

@ -92,7 +92,7 @@ pub fn from_u32(i: u32) -> Option<char> {
/// Panics if given an `radix` > 36.
///
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub fn from_digit(num: uint, radix: uint) -> Option<char> {
if radix > 36 {
panic!("from_digit: radix is too high (maximum 36)");
@ -126,7 +126,7 @@ pub trait CharExt {
/// # Panics
///
/// Panics if given a radix > 36.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn is_digit(self, radix: uint) -> bool;
@ -141,7 +141,7 @@ pub trait CharExt {
/// # Panics
///
/// Panics if given a radix outside the range [0..36].
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn to_digit(self, radix: uint) -> Option<uint>;
@ -198,13 +198,13 @@ pub trait CharExt {
#[stable(feature = "grandfathered", since = "1.0.0")]
impl CharExt for char {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn is_digit(self, radix: uint) -> bool {
self.to_digit(radix).is_some()
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn to_digit(self, radix: uint) -> Option<uint> {
if radix > 36 {
@ -260,7 +260,7 @@ impl CharExt for char {
}
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending decision about Iterator/Writer/Reader")]
fn encode_utf8(self, dst: &mut [u8]) -> Option<uint> {
// Marked #[inline] to allow llvm optimizing it away
@ -289,7 +289,7 @@ impl CharExt for char {
}
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending decision about Iterator/Writer/Reader")]
fn encode_utf16(self, dst: &mut [u16]) -> Option<uint> {
// Marked #[inline] to allow llvm optimizing it away
@ -320,7 +320,7 @@ pub struct EscapeUnicode {
}
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
enum EscapeUnicodeState {
Backslash,
Type,
@ -382,7 +382,7 @@ pub struct EscapeDefault {
}
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
enum EscapeDefaultState {
Backslash(char),
Char(char),

View File

@ -36,7 +36,7 @@ pub trait Clone : Sized {
/// but can be overridden to reuse the resources of `a` to avoid unnecessary
/// allocations.
#[inline(always)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this function is rarely used")]
fn clone_from(&mut self, source: &Self) {
*self = source.clone()
@ -82,7 +82,7 @@ clone_impl! { char }
macro_rules! extern_fn_clone {
($($A:ident),*) => (
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this may not be sufficient for fns with region parameters")]
impl<$($A,)* ReturnType> Clone for extern "Rust" fn($($A),*) -> ReturnType {
/// Return a copy of a function pointer

View File

@ -290,7 +290,7 @@ pub fn max<T: Ord>(v1: T, v2: T) -> T {
///
/// Returns the first argument if the comparison determines them to be equal.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn partial_min<T: PartialOrd>(v1: T, v2: T) -> Option<T> {
match v1.partial_cmp(&v2) {
Some(Less) | Some(Equal) => Some(v1),
@ -303,7 +303,7 @@ pub fn partial_min<T: PartialOrd>(v1: T, v2: T) -> Option<T> {
///
/// Returns the first argument if the comparison determines them to be equal.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn partial_max<T: PartialOrd>(v1: T, v2: T) -> Option<T> {
match v1.partial_cmp(&v2) {
Some(Less) => Some(v2),

View File

@ -36,7 +36,7 @@ mod num;
mod float;
pub mod rt;
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "core and I/O reconciliation may alter this definition")]
/// The type returned by formatter methods.
pub type Result = result::Result<(), Error>;
@ -46,7 +46,7 @@ pub type Result = result::Result<(), Error>;
/// This type does not support transmission of an error other than that an error
/// occurred. Any extra information must be arranged to be transmitted through
/// some other means.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "core and I/O reconciliation may alter this definition")]
#[derive(Copy)]
pub struct Error;
@ -60,7 +60,7 @@ pub struct Error;
/// This trait should generally not be implemented by consumers of the standard
/// library. The `write!` macro accepts an instance of `io::Writer`, and the
/// `io::Writer` trait is favored over implementing this trait.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting for core and I/O reconciliation")]
pub trait Writer {
/// Writes a slice of bytes into this writer, returning whether the write
@ -104,7 +104,7 @@ pub trait Writer {
/// A struct to represent both where to emit formatting strings to and how they
/// should be formatted. A mutable version of this is passed to all formatting
/// traits.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "name may change and implemented traits are also unstable")]
pub struct Formatter<'a> {
flags: uint,
@ -127,7 +127,7 @@ enum Void {}
/// family of functions. It contains a function to format the given value. At
/// compile time it is ensured that the function and the value have the correct
/// types, and then this struct is used to canonicalize arguments to one type.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
#[derive(Copy)]
pub struct Argument<'a> {
@ -167,7 +167,7 @@ impl<'a> Arguments<'a> {
/// When using the format_args!() macro, this function is used to generate the
/// Arguments structure.
#[doc(hidden)] #[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
pub fn new(pieces: &'a [&'a str],
args: &'a [Argument<'a>]) -> Arguments<'a> {
@ -185,7 +185,7 @@ impl<'a> Arguments<'a> {
/// created with `argumentuint`. However, failing to do so doesn't cause
/// unsafety, but will ignore invalid .
#[doc(hidden)] #[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
pub fn with_placeholders(pieces: &'a [&'a str],
fmt: &'a [rt::Argument],
@ -236,7 +236,7 @@ impl<'a> String for Arguments<'a> {
/// Format trait for the `:?` format. Useful for debugging, most all types
/// should implement this.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait Show {
/// Formats the value using the given formatter.
@ -245,7 +245,7 @@ pub trait Show {
/// When a value can be semantically expressed as a String, this trait may be
/// used. It corresponds to the default format, `{}`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait String {
/// Formats the value using the given formatter.
@ -254,7 +254,7 @@ pub trait String {
/// Format trait for the `o` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait Octal {
/// Formats the value using the given formatter.
@ -262,7 +262,7 @@ pub trait Octal {
}
/// Format trait for the `b` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait Binary {
/// Formats the value using the given formatter.
@ -270,7 +270,7 @@ pub trait Binary {
}
/// Format trait for the `x` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait LowerHex {
/// Formats the value using the given formatter.
@ -278,7 +278,7 @@ pub trait LowerHex {
}
/// Format trait for the `X` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait UpperHex {
/// Formats the value using the given formatter.
@ -286,7 +286,7 @@ pub trait UpperHex {
}
/// Format trait for the `p` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait Pointer {
/// Formats the value using the given formatter.
@ -294,7 +294,7 @@ pub trait Pointer {
}
/// Format trait for the `e` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait LowerExp {
/// Formats the value using the given formatter.
@ -302,7 +302,7 @@ pub trait LowerExp {
}
/// Format trait for the `E` character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "I/O and core have yet to be reconciled")]
pub trait UpperExp {
/// Formats the value using the given formatter.
@ -317,7 +317,7 @@ pub trait UpperExp {
///
/// * output - the buffer to write output to
/// * args - the precompiled arguments generated by `format_args!`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "libcore and I/O have yet to be reconciled, and this is an \
implementation detail which should not otherwise be exported")]
pub fn write(output: &mut Writer, args: Arguments) -> Result {
@ -415,7 +415,7 @@ impl<'a> Formatter<'a> {
///
/// This function will correctly account for the flags provided as well as
/// the minimum width. It will not take precision into account.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "definition may change slightly over time")]
pub fn pad_integral(&mut self,
is_positive: bool,
@ -492,7 +492,7 @@ impl<'a> Formatter<'a> {
/// is longer than this length
///
/// Notably this function ignored the `flag` parameters
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "definition may change slightly over time")]
pub fn pad(&mut self, s: &str) -> Result {
// Make sure there's a fast path up front
@ -570,38 +570,38 @@ impl<'a> Formatter<'a> {
/// Writes some data to the underlying buffer contained within this
/// formatter.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "reconciling core and I/O may alter this definition")]
pub fn write_str(&mut self, data: &str) -> Result {
self.buf.write_str(data)
}
/// Writes some formatted information into this instance
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "reconciling core and I/O may alter this definition")]
pub fn write_fmt(&mut self, fmt: Arguments) -> Result {
write(self.buf, fmt)
}
/// Flags for formatting (packed version of rt::Flag)
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return type may change and method was just created")]
pub fn flags(&self) -> uint { self.flags }
/// Character used as 'fill' whenever there is alignment
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "method was just created")]
#[unstable(feature = "unnamed_feature", reason = "method was just created")]
pub fn fill(&self) -> char { self.fill }
/// Flag indicating what form of alignment was requested
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "method was just created")]
#[unstable(feature = "unnamed_feature", reason = "method was just created")]
pub fn align(&self) -> rt::Alignment { self.align }
/// Optionally specified integer width that the output should be
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "method was just created")]
#[unstable(feature = "unnamed_feature", reason = "method was just created")]
pub fn width(&self) -> Option<uint> { self.width }
/// Optionally specified precision for numeric types
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "method was just created")]
#[unstable(feature = "unnamed_feature", reason = "method was just created")]
pub fn precision(&self) -> Option<uint> { self.precision }
}
@ -614,7 +614,7 @@ impl Show for Error {
/// This is a function which calls are emitted to by the compiler itself to
/// create the Argument structures that are passed into the `format` function.
#[doc(hidden)] #[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
pub fn argument<'a, T>(f: fn(&T, &mut Formatter) -> Result,
t: &'a T) -> Argument<'a> {
@ -624,7 +624,7 @@ pub fn argument<'a, T>(f: fn(&T, &mut Formatter) -> Result,
/// When the compiler determines that the type of an argument *must* be a uint
/// (such as for width and precision), then it invokes this method.
#[doc(hidden)] #[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
pub fn argumentuint<'a>(s: &'a uint) -> Argument<'a> {
Argument::from_uint(s)
@ -879,7 +879,7 @@ impl<T: Copy + Show> Show for Cell<T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<T: Show> Show for RefCell<T> {
fn fmt(&self, f: &mut Formatter) -> Result {
match self.try_borrow() {

View File

@ -111,7 +111,7 @@ radix! { UpperHex, 16, "0x", x @ 0 ... 9 => b'0' + x,
/// A radix with in the range of `2..36`.
#[derive(Clone, Copy, PartialEq)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed or move to a different module")]
pub struct Radix {
base: u8,
@ -136,7 +136,7 @@ impl GenericRadix for Radix {
}
/// A helper type for formatting radixes.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed or move to a different module")]
#[derive(Copy)]
pub struct RadixFmt<T, R>(T, R);
@ -149,7 +149,7 @@ pub struct RadixFmt<T, R>(T, R);
/// use std::fmt::radix;
/// assert_eq!(format!("{}", radix(55i, 36)), "1j".to_string());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed or move to a different module")]
pub fn radix<T>(x: T, base: u8) -> RadixFmt<T, Radix> {
RadixFmt(x, Radix::new(base))

View File

@ -14,7 +14,7 @@
//! These definitions are similar to their `ct` equivalents, but differ in that
//! these can be statically allocated and are slightly optimized for the runtime
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "implementation detail of the `format_args!` macro")]
pub use self::Alignment::*;

View File

@ -56,7 +56,7 @@
//! assert_eq!(hash::<_, SipHasher>(&person1), hash::<_, SipHasher>(&person2));
//! ```
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "module was recently redesigned")]
use prelude::*;
@ -96,7 +96,7 @@ pub trait Hasher {
/// A common bound on the `Hasher` parameter to `Hash` implementations in order
/// to generically hash an aggregate.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this trait will likely be replaced by io::Writer")]
#[allow(missing_docs)]
pub trait Writer {

View File

@ -39,7 +39,7 @@
//! guaranteed to happen in order. This is the standard mode for working
//! with atomic types and is equivalent to Java's `volatile`.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![allow(missing_docs)]
use marker::Sized;
@ -303,7 +303,7 @@ extern "rust-intrinsic" {
/// }
/// }
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn copy_nonoverlapping_memory<T>(dst: *mut T, src: *const T, count: uint);
/// Copies `count * size_of<T>` bytes from `src` to `dst`. The source
@ -333,12 +333,12 @@ extern "rust-intrinsic" {
/// }
/// ```
///
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn copy_memory<T>(dst: *mut T, src: *const T, count: uint);
/// Invokes memset on the specified pointer, setting `count * size_of::<T>()`
/// bytes of memory starting at `dst` to `c`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about naming and semantics")]
pub fn set_memory<T>(dst: *mut T, val: u8, count: uint);

View File

@ -564,7 +564,7 @@ pub trait IteratorExt: Iterator + Sized {
/// assert_eq!(even, vec![2, 4]);
/// assert_eq!(odd, vec![1, 3]);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added as part of collections reform")]
fn partition<B, F>(mut self, mut f: F) -> (B, B) where
B: Default + Extend<Self::Item>,
@ -760,7 +760,7 @@ pub trait IteratorExt: Iterator + Sized {
/// let v = [1i, 1, 1, 1];
/// assert!(v.iter().min_max() == MinMax(&1, &1));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "return type may change")]
#[unstable(feature = "unnamed_feature", reason = "return type may change")]
fn min_max(mut self) -> MinMaxResult<Self::Item> where Self::Item: Ord
{
let (mut min, mut max) = match self.next() {
@ -817,7 +817,7 @@ pub trait IteratorExt: Iterator + Sized {
/// assert_eq!(*xs.iter().max_by(|x| x.abs()).unwrap(), -10);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may want to produce an Ordering directly; see #15311")]
fn max_by<B: Ord, F>(self, mut f: F) -> Option<Self::Item> where
F: FnMut(&Self::Item) -> B,
@ -847,7 +847,7 @@ pub trait IteratorExt: Iterator + Sized {
/// assert_eq!(*xs.iter().min_by(|x| x.abs()).unwrap(), 0);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may want to produce an Ordering directly; see #15311")]
fn min_by<B: Ord, F>(self, mut f: F) -> Option<Self::Item> where
F: FnMut(&Self::Item) -> B,
@ -887,7 +887,7 @@ pub trait IteratorExt: Iterator + Sized {
///
/// Loops through the entire iterator, collecting the first component of
/// each item into one new container, and the second component into another.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recent addition")]
#[unstable(feature = "unnamed_feature", reason = "recent addition")]
fn unzip<A, B, FromA, FromB>(mut self) -> (FromA, FromB) where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
@ -920,7 +920,7 @@ pub trait IteratorExt: Iterator + Sized {
/// Creates an iterator that clones the elements it yields. Useful for converting an
/// Iterator<&T> to an Iterator<T>.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recent addition")]
#[unstable(feature = "unnamed_feature", reason = "recent addition")]
fn cloned<T, D>(self) -> Cloned<Self> where
Self: Iterator<Item=D>,
D: Deref<Target=T>,
@ -948,7 +948,7 @@ pub trait IteratorExt: Iterator + Sized {
}
/// Use an iterator to reverse a container in place.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about placement or widespread use")]
fn reverse_in_place<'a, T: 'a>(&mut self) where
Self: Iterator<Item=&'a mut T> + DoubleEndedIterator
@ -982,7 +982,7 @@ pub trait DoubleEndedIterator: Iterator {
/// Calling `next()` or `next_back()` on a `RandomAccessIterator`
/// reduces the indexable range accordingly. That is, `it.idx(1)` will become `it.idx(0)`
/// after `it.next()` is called.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "not widely used, may be better decomposed into Index and ExactSizeIterator")]
pub trait RandomAccessIterator: Iterator {
/// Return the number of indexable elements. At most `std::uint::MAX`
@ -1058,7 +1058,7 @@ impl<I> DoubleEndedIterator for Rev<I> where I: DoubleEndedIterator {
fn next_back(&mut self) -> Option<<I as Iterator>::Item> { self.iter.next() }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Rev<I> where I: DoubleEndedIterator + RandomAccessIterator {
#[inline]
fn indexable(&self) -> uint { self.iter.indexable() }
@ -1093,7 +1093,7 @@ impl<'a, I> DoubleEndedIterator for ByRef<'a, I> where I: 'a + DoubleEndedIterat
}
/// A trait for iterators over elements which can be added together
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "needs to be re-evaluated as part of numerics reform")]
pub trait AdditiveIterator<A> {
/// Iterates over the entire iterator, summing up all the elements
@ -1112,7 +1112,7 @@ pub trait AdditiveIterator<A> {
macro_rules! impl_additive {
($A:ty, $init:expr) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<T: Iterator<Item=$A>> AdditiveIterator<$A> for T {
#[inline]
fn sum(self) -> $A {
@ -1135,7 +1135,7 @@ impl_additive! { f32, 0.0 }
impl_additive! { f64, 0.0 }
/// A trait for iterators over elements which can be multiplied together.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "needs to be re-evaluated as part of numerics reform")]
pub trait MultiplicativeIterator<A> {
/// Iterates over the entire iterator, multiplying all the elements
@ -1157,7 +1157,7 @@ pub trait MultiplicativeIterator<A> {
macro_rules! impl_multiplicative {
($A:ty, $init:expr) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<T: Iterator<Item=$A>> MultiplicativeIterator<$A> for T {
#[inline]
fn product(self) -> $A {
@ -1181,7 +1181,7 @@ impl_multiplicative! { f64, 1.0 }
/// `MinMaxResult` is an enum returned by `min_max`. See `IteratorOrdExt::min_max` for more detail.
#[derive(Clone, PartialEq, Show)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unclear whether such a fine-grained result is widely useful")]
pub enum MinMaxResult<T> {
/// Empty iterator
@ -1214,7 +1214,7 @@ impl<T: Clone> MinMaxResult<T> {
/// let r = MinMax(1i,2i);
/// assert_eq!(r.into_option(), Some((1,2)));
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "type is unstable")]
#[unstable(feature = "unnamed_feature", reason = "type is unstable")]
pub fn into_option(self) -> Option<(T,T)> {
match self {
NoElements => None,
@ -1225,7 +1225,7 @@ impl<T: Clone> MinMaxResult<T> {
}
/// An iterator that clones the elements of an underlying iterator
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recent addition")]
#[unstable(feature = "unnamed_feature", reason = "recent addition")]
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
#[derive(Clone)]
pub struct Cloned<I> {
@ -1299,7 +1299,7 @@ impl<I> Iterator for Cycle<I> where I: Clone + Iterator {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Cycle<I> where
I: Clone + RandomAccessIterator,
{
@ -1384,7 +1384,7 @@ impl<T, A, B> DoubleEndedIterator for Chain<A, B> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<T, A, B> RandomAccessIterator for Chain<A, B> where
A: RandomAccessIterator<Item=T>,
B: RandomAccessIterator<Item=T>,
@ -1476,7 +1476,7 @@ impl<T, U, A, B> DoubleEndedIterator for Zip<A, B> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<T, U, A, B> RandomAccessIterator for Zip<A, B> where
A: RandomAccessIterator<Item=T>,
B: RandomAccessIterator<Item=U>,
@ -1558,7 +1558,7 @@ impl<A, B, I, F> DoubleEndedIterator for Map<A, B, I, F> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<A, B, I, F> RandomAccessIterator for Map<A, B, I, F> where
I: RandomAccessIterator<Item=A>,
F: FnMut(A) -> B,
@ -1747,7 +1747,7 @@ impl<I> DoubleEndedIterator for Enumerate<I> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Enumerate<I> where I: RandomAccessIterator {
#[inline]
fn indexable(&self) -> uint {
@ -1973,7 +1973,7 @@ impl<I> Iterator for Skip<I> where I: Iterator {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Skip<I> where I: RandomAccessIterator{
#[inline]
fn indexable(&self) -> uint {
@ -2028,7 +2028,7 @@ impl<I> Iterator for Take<I> where I: Iterator{
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Take<I> where I: RandomAccessIterator{
#[inline]
fn indexable(&self) -> uint {
@ -2241,7 +2241,7 @@ impl<I> DoubleEndedIterator for Fuse<I> where I: DoubleEndedIterator {
}
// Allow RandomAccessIterators to be fused without affecting random-access behavior
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<I> RandomAccessIterator for Fuse<I> where I: RandomAccessIterator {
#[inline]
fn indexable(&self) -> uint {
@ -2258,7 +2258,7 @@ impl<I> Fuse<I> {
/// Resets the fuse such that the next call to .next() or .next_back() will
/// call the underlying iterator again even if it previously returned None.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "seems marginal")]
#[unstable(feature = "unnamed_feature", reason = "seems marginal")]
pub fn reset_fuse(&mut self) {
self.done = false
}
@ -2327,7 +2327,7 @@ impl<A, I, F> DoubleEndedIterator for Inspect<A, I, F> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<A, I, F> RandomAccessIterator for Inspect<A, I, F> where
I: RandomAccessIterator<Item=A>,
F: FnMut(&A),
@ -2376,7 +2376,7 @@ impl<A, I, F> RandomAccessIterator for Inspect<A, I, F> where
/// println!("{}", i);
/// }
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct Unfold<A, St, F> where F: FnMut(&mut St) -> Option<A> {
f: F,
/// Internal state that will be passed to the closure on the next iteration
@ -2397,7 +2397,7 @@ impl<A, St, F> Clone for Unfold<A, St, F> where
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<A, St, F> Unfold<A, St, F> where F: FnMut(&mut St) -> Option<A> {
/// Creates a new iterator with the specified closure as the "iterator
/// function" and an initial state to eventually pass to the closure
@ -2429,7 +2429,7 @@ impl<A, St, F> Iterator for Unfold<A, St, F> where F: FnMut(&mut St) -> Option<A
/// An infinite iterator starting at `start` and advancing by `step` with each
/// iteration
#[derive(Clone, Copy)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed or replaced by range notation adapaters")]
pub struct Counter<A> {
/// The current state the counter is at (next value to be yielded)
@ -2440,7 +2440,7 @@ pub struct Counter<A> {
/// Creates a new counter with the specified start/step
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may be renamed or replaced by range notation adapaters")]
pub fn count<A>(start: A, step: A) -> Counter<A> {
Counter{state: start, step: step}
@ -2465,7 +2465,7 @@ impl<A: Add<Output=A> + Clone> Iterator for Counter<A> {
/// An iterator over the range [start, stop)
#[derive(Clone, Copy)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by range notation")]
pub struct Range<A> {
state: A,
@ -2487,7 +2487,7 @@ pub struct Range<A> {
/// }
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by range notation")]
pub fn range<A: Int>(start: A, stop: A) -> Range<A> {
Range {
@ -2498,7 +2498,7 @@ pub fn range<A: Int>(start: A, stop: A) -> Range<A> {
}
// FIXME: #10414: Unfortunate type bound
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by range notation")]
impl<A: Int + ToPrimitive> Iterator for Range<A> {
type Item = A;
@ -2549,7 +2549,7 @@ impl<A: Int + ToPrimitive> Iterator for Range<A> {
/// `Int` is required to ensure the range will be the same regardless of
/// the direction it is consumed.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by range notation")]
impl<A: Int + ToPrimitive> DoubleEndedIterator for Range<A> {
#[inline]
@ -2565,7 +2565,7 @@ impl<A: Int + ToPrimitive> DoubleEndedIterator for Range<A> {
/// An iterator over the range [start, stop]
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub struct RangeInclusive<A> {
range: Range<A>,
@ -2574,7 +2574,7 @@ pub struct RangeInclusive<A> {
/// Return an iterator over the range [start, stop]
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub fn range_inclusive<A: Int>(start: A, stop: A) -> RangeInclusive<A> {
RangeInclusive {
@ -2583,7 +2583,7 @@ pub fn range_inclusive<A: Int>(start: A, stop: A) -> RangeInclusive<A> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
impl<A: Int + ToPrimitive> Iterator for RangeInclusive<A> {
type Item = A;
@ -2619,7 +2619,7 @@ impl<A: Int + ToPrimitive> Iterator for RangeInclusive<A> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
impl<A: Int + ToPrimitive> DoubleEndedIterator for RangeInclusive<A> {
#[inline]
@ -2639,7 +2639,7 @@ impl<A: Int + ToPrimitive> DoubleEndedIterator for RangeInclusive<A> {
/// An iterator over the range [start, stop) by `step`. It handles overflow by stopping.
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub struct RangeStep<A> {
state: A,
@ -2650,14 +2650,14 @@ pub struct RangeStep<A> {
/// Return an iterator over the range [start, stop) by `step`. It handles overflow by stopping.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub fn range_step<A: Int>(start: A, stop: A, step: A) -> RangeStep<A> {
let rev = step < Int::zero();
RangeStep{state: start, stop: stop, step: step, rev: rev}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
impl<A: Int> Iterator for RangeStep<A> {
type Item = A;
@ -2679,7 +2679,7 @@ impl<A: Int> Iterator for RangeStep<A> {
/// An iterator over the range [start, stop] by `step`. It handles overflow by stopping.
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub struct RangeStepInclusive<A> {
state: A,
@ -2691,7 +2691,7 @@ pub struct RangeStepInclusive<A> {
/// Return an iterator over the range [start, stop] by `step`. It handles overflow by stopping.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
pub fn range_step_inclusive<A: Int>(start: A, stop: A, step: A) -> RangeStepInclusive<A> {
let rev = step < Int::zero();
@ -2704,7 +2704,7 @@ pub fn range_step_inclusive<A: Int>(start: A, stop: A, step: A) -> RangeStepIncl
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to be replaced by range notation and adapters")]
impl<A: Int> Iterator for RangeStepInclusive<A> {
type Item = A;
@ -2730,7 +2730,7 @@ impl<A: Int> Iterator for RangeStepInclusive<A> {
/// directions. The `steps_between` function provides a way to
/// compare two Step objects (it could be provided using `step()` and `Ord`,
/// but the implementation would be so inefficient as to be useless).
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "design of range notation/iteration is in flux")]
pub trait Step: Ord {
/// Change self to the next object.
@ -2746,7 +2746,7 @@ pub trait Step: Ord {
macro_rules! step_impl {
($($t:ty)*) => ($(
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "Trait is unstable.")]
#[unstable(feature = "unnamed_feature", reason = "Trait is unstable.")]
impl Step for $t {
#[inline]
fn step(&mut self) { *self += 1; }
@ -2763,7 +2763,7 @@ macro_rules! step_impl {
macro_rules! step_impl_no_between {
($($t:ty)*) => ($(
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "Trait is unstable.")]
#[unstable(feature = "unnamed_feature", reason = "Trait is unstable.")]
impl Step for $t {
#[inline]
fn step(&mut self) { *self += 1; }
@ -2807,7 +2807,7 @@ impl<A: Clone> DoubleEndedIterator for Repeat<A> {
fn next_back(&mut self) -> Option<A> { self.idx(0) }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<A: Clone> RandomAccessIterator for Repeat<A> {
#[inline]
fn indexable(&self) -> uint { uint::MAX }
@ -2819,12 +2819,12 @@ type IterateState<T, F> = (F, Option<T>, bool);
/// An iterator that repeatedly applies a given function, starting
/// from a given seed value.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub type Iterate<T, F> = Unfold<T, IterateState<T, F>, fn(&mut IterateState<T, F>) -> Option<T>>;
/// Create a new iterator that produces an infinite sequence of
/// repeated applications of the given function `f`.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn iterate<T, F>(seed: T, f: F) -> Iterate<T, F> where
T: Clone,
F: FnMut(T) -> T,
@ -2867,7 +2867,7 @@ pub fn repeat<T: Clone>(elt: T) -> Repeat<T> {
///
/// If two sequences are equal up until the point where one ends,
/// the shorter sequence compares less.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "needs review and revision")]
#[unstable(feature = "unnamed_feature", reason = "needs review and revision")]
pub mod order {
use cmp;
use cmp::{Eq, Ord, PartialOrd, PartialEq};

View File

@ -48,7 +48,7 @@
// separate crate, libcoretest, to avoid bizarre issues.
#![crate_name = "core"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",

View File

@ -235,7 +235,7 @@ macro_rules! writeln {
/// }
/// ```
#[macro_export]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "relationship with panic is unclear")]
macro_rules! unreachable {
() => ({
@ -252,7 +252,7 @@ macro_rules! unreachable {
/// A standardised placeholder for marking unfinished code. It panics with the
/// message `"not yet implemented"` when executed.
#[macro_export]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "relationship with panic is unclear")]
macro_rules! unimplemented {
() => (panic!("not yet implemented"))

View File

@ -28,7 +28,7 @@
use clone::Clone;
/// Types able to be transferred across task boundaries.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be overhauled with new lifetime rules; see RFC 458")]
#[lang="send"]
pub unsafe trait Send: 'static {
@ -192,7 +192,7 @@ pub trait Copy {
/// around the value(s) which can be mutated when behind a `&`
/// reference; not doing this is undefined behaviour (for example,
/// `transmute`-ing from `&T` to `&mut T` is illegal).
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be overhauled with new lifetime rules; see RFC 458")]
#[lang="sync"]
pub unsafe trait Sync {
@ -237,7 +237,7 @@ pub unsafe trait Sync {
/// `S<T>` is a subtype of `S<U>` if `T` is a subtype of `U`
/// (for example, `S<&'static int>` is a subtype of `S<&'a int>`
/// for some lifetime `'a`, but not the other way around).
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="covariant_type"]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
@ -287,7 +287,7 @@ impl<T: ?Sized> Clone for CovariantType<T> {
/// subtype of `S<U>` if `U` is a subtype of `T`; given that the
/// function requires arguments of type `T`, it must also accept
/// arguments of type `U`, hence such a conversion is safe.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="contravariant_type"]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
@ -318,16 +318,16 @@ impl<T: ?Sized> Clone for ContravariantType<T> {
/// The type system would infer that `value` is only read here and
/// never written, but in fact `Cell` uses unsafe code to achieve
/// interior mutability.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="invariant_type"]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
pub struct InvariantType<T: ?Sized>;
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
impl<T: ?Sized> Copy for InvariantType<T> {}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
impl<T: ?Sized> Clone for InvariantType<T> {
fn clone(&self) -> InvariantType<T> { *self }
@ -349,7 +349,7 @@ impl<T: ?Sized> Clone for InvariantType<T> {
///
/// For more information about variance, refer to this Wikipedia
/// article <http://en.wikipedia.org/wiki/Variance_%28computer_science%29>.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="covariant_lifetime"]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
@ -367,7 +367,7 @@ pub struct CovariantLifetime<'a>;
///
/// For more information about variance, refer to this Wikipedia
/// article <http://en.wikipedia.org/wiki/Variance_%28computer_science%29>.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="contravariant_lifetime"]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
@ -380,7 +380,7 @@ pub struct ContravariantLifetime<'a>;
/// pointer that is actually a pointer into memory with lifetime `'a`,
/// and this pointer is itself stored in an inherently mutable
/// location (such as a `Cell`).
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="invariant_lifetime"]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
@ -390,7 +390,7 @@ pub struct InvariantLifetime<'a>;
/// be safely sent between tasks, even if it is owned. This is
/// typically embedded in other types, such as `Gc`, to ensure that
/// their instances remain thread-local.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="no_send_bound"]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
@ -400,7 +400,7 @@ pub struct NoSend;
/// A type which is considered "not POD", meaning that it is not
/// implicitly copyable. This is typically embedded in other types to
/// ensure that they are never copied, even if they lack a destructor.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="no_copy_bound"]
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord)]
@ -410,7 +410,7 @@ pub struct NoCopy;
/// A type which is considered "not sync", meaning that
/// its contents are not threadsafe, hence they cannot be
/// shared between tasks.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="no_sync_bound"]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
@ -419,7 +419,7 @@ pub struct NoSync;
/// A type which is considered managed by the GC. This is typically
/// embedded in other types.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "likely to change with new variance strategy")]
#[lang="managed_bound"]
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord)]

View File

@ -318,7 +318,7 @@ pub unsafe fn transmute_copy<T, U>(src: &T) -> U {
/// Transforms lifetime of the second pointer to match the first.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this function may be removed in the future due to its \
questionable utility")]
pub unsafe fn copy_lifetime<'a, S: ?Sized, T: ?Sized + 'a>(_ptr: &'a S,
@ -328,7 +328,7 @@ pub unsafe fn copy_lifetime<'a, S: ?Sized, T: ?Sized + 'a>(_ptr: &'a S,
/// Transforms lifetime of the second mutable pointer to match the first.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this function may be removed in the future due to its \
questionable utility")]
pub unsafe fn copy_mut_lifetime<'a, S: ?Sized, T: ?Sized + 'a>(_ptr: &'a mut S,

View File

@ -32,7 +32,7 @@ unsafe impl Zeroable for u64 {}
/// NULL or 0 that might allow certain optimizations.
#[lang="non_zero"]
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Show)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub struct NonZero<T: Zeroable>(T);
impl<T: Zeroable> NonZero<T> {

View File

@ -22,12 +22,12 @@ use num::Float;
use num::FpCategory as Fp;
use option::Option;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const RADIX: uint = 2u;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MANTISSA_DIGITS: uint = 24u;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const DIGITS: uint = 6u;
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -43,14 +43,14 @@ pub const MIN_POS_VALUE: f32 = 1.17549435e-38_f32;
#[stable(feature = "grandfathered", since = "1.0.0")]
pub const MAX_VALUE: f32 = 3.40282347e+38_f32;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MIN_EXP: int = -125;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MAX_EXP: int = 128;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MIN_10_EXP: int = -37;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MAX_10_EXP: int = 38;
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -61,7 +61,7 @@ pub const INFINITY: f32 = 1.0_f32/0.0_f32;
pub const NEG_INFINITY: f32 = -1.0_f32/0.0_f32;
/// Various useful constants.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming scheme needs to be revisited")]
pub mod consts {
// FIXME: replace with mathematical constants from cmath.
@ -118,7 +118,7 @@ pub mod consts {
pub const LN_10: f32 = 2.30258509299404568401799145468436421_f32;
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl Float for f32 {
#[inline]
fn nan() -> f32 { NAN }

View File

@ -26,11 +26,11 @@ use option::Option;
// constants are implemented in favour of referencing the respective
// members of `Bounded` and `Float`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const RADIX: uint = 2u;
pub const MANTISSA_DIGITS: uint = 53u;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const DIGITS: uint = 15u;
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -46,14 +46,14 @@ pub const MIN_POS_VALUE: f64 = 2.2250738585072014e-308_f64;
#[stable(feature = "grandfathered", since = "1.0.0")]
pub const MAX_VALUE: f64 = 1.7976931348623157e+308_f64;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MIN_EXP: int = -1021;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MAX_EXP: int = 1024;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MIN_10_EXP: int = -307;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "pending integer conventions")]
#[unstable(feature = "unnamed_feature", reason = "pending integer conventions")]
pub const MAX_10_EXP: int = 308;
#[stable(feature = "grandfathered", since = "1.0.0")]
@ -64,7 +64,7 @@ pub const INFINITY: f64 = 1.0_f64/0.0_f64;
pub const NEG_INFINITY: f64 = -1.0_f64/0.0_f64;
/// Various useful constants.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming scheme needs to be revisited")]
pub mod consts {
// FIXME: replace with mathematical constants from cmath.
@ -125,7 +125,7 @@ pub mod consts {
pub const LN_10: f64 = 2.30258509299404568401799145468436421_f64;
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is unstable")]
#[unstable(feature = "unnamed_feature", reason = "trait is unstable")]
impl Float for f64 {
#[inline]
fn nan() -> f64 { NAN }

View File

@ -14,11 +14,11 @@ macro_rules! int_module { ($T:ty, $bits:expr) => (
// FIXME(#11621): Should be deprecated once CTFE is implemented in favour of
// calling the `mem::size_of` function.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub const BITS : uint = $bits;
// FIXME(#11621): Should be deprecated once CTFE is implemented in favour of
// calling the `mem::size_of` function.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub const BYTES : uint = ($bits / 8);
// FIXME(#11621): Should be deprecated once CTFE is implemented in favour of

View File

@ -50,25 +50,25 @@ pub trait Int
{
/// Returns the `0` value of this integer type.
// FIXME (#5527): Should be an associated constant
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn zero() -> Self;
/// Returns the `1` value of this integer type.
// FIXME (#5527): Should be an associated constant
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn one() -> Self;
/// Returns the smallest value that can be represented by this integer type.
// FIXME (#5527): Should be and associated constant
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn min_value() -> Self;
/// Returns the largest value that can be represented by this integer type.
// FIXME (#5527): Should be and associated constant
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn max_value() -> Self;
@ -83,7 +83,7 @@ pub trait Int
///
/// assert_eq!(n.count_ones(), 3);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn count_ones(self) -> uint;
@ -98,7 +98,7 @@ pub trait Int
///
/// assert_eq!(n.count_zeros(), 5);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
#[inline]
fn count_zeros(self) -> uint {
@ -117,7 +117,7 @@ pub trait Int
///
/// assert_eq!(n.leading_zeros(), 10);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn leading_zeros(self) -> uint;
@ -133,7 +133,7 @@ pub trait Int
///
/// assert_eq!(n.trailing_zeros(), 3);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn trailing_zeros(self) -> uint;
@ -150,7 +150,7 @@ pub trait Int
///
/// assert_eq!(n.rotate_left(12), m);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn rotate_left(self, n: uint) -> Self;
@ -167,7 +167,7 @@ pub trait Int
///
/// assert_eq!(n.rotate_right(12), m);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn rotate_right(self, n: uint) -> Self;
@ -368,7 +368,7 @@ pub trait Int
///
/// assert_eq!(2i.pow(4), 16);
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
#[inline]
fn pow(self, mut exp: uint) -> Self {
@ -632,7 +632,7 @@ pub trait SignedInt
{
/// Computes the absolute value of `self`. `Int::min_value()` will be
/// returned if the number is `Int::min_value()`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "overflow in debug builds?")]
#[unstable(feature = "unnamed_feature", reason = "overflow in debug builds?")]
fn abs(self) -> Self;
/// Returns a number representing sign of `self`.
@ -737,7 +737,7 @@ impl UnsignedInt for u32 {}
impl UnsignedInt for u64 {}
/// A generic trait for converting a value to a number.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "trait is likely to be removed")]
pub trait ToPrimitive {
/// Converts the value of `self` to an `int`.
#[inline]
@ -1002,7 +1002,7 @@ impl_to_primitive_float! { f32 }
impl_to_primitive_float! { f64 }
/// A generic trait for converting a number to a value.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "trait is likely to be removed")]
pub trait FromPrimitive : ::marker::Sized {
/// Convert an `int` to return an optional value of this type. If the
/// value cannot be represented by this value, the `None` is returned.
@ -1084,73 +1084,73 @@ pub trait FromPrimitive : ::marker::Sized {
}
/// A utility function that just calls `FromPrimitive::from_int`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_int<A: FromPrimitive>(n: int) -> Option<A> {
FromPrimitive::from_int(n)
}
/// A utility function that just calls `FromPrimitive::from_i8`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_i8<A: FromPrimitive>(n: i8) -> Option<A> {
FromPrimitive::from_i8(n)
}
/// A utility function that just calls `FromPrimitive::from_i16`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_i16<A: FromPrimitive>(n: i16) -> Option<A> {
FromPrimitive::from_i16(n)
}
/// A utility function that just calls `FromPrimitive::from_i32`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_i32<A: FromPrimitive>(n: i32) -> Option<A> {
FromPrimitive::from_i32(n)
}
/// A utility function that just calls `FromPrimitive::from_i64`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_i64<A: FromPrimitive>(n: i64) -> Option<A> {
FromPrimitive::from_i64(n)
}
/// A utility function that just calls `FromPrimitive::from_uint`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_uint<A: FromPrimitive>(n: uint) -> Option<A> {
FromPrimitive::from_uint(n)
}
/// A utility function that just calls `FromPrimitive::from_u8`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_u8<A: FromPrimitive>(n: u8) -> Option<A> {
FromPrimitive::from_u8(n)
}
/// A utility function that just calls `FromPrimitive::from_u16`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_u16<A: FromPrimitive>(n: u16) -> Option<A> {
FromPrimitive::from_u16(n)
}
/// A utility function that just calls `FromPrimitive::from_u32`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_u32<A: FromPrimitive>(n: u32) -> Option<A> {
FromPrimitive::from_u32(n)
}
/// A utility function that just calls `FromPrimitive::from_u64`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_u64<A: FromPrimitive>(n: u64) -> Option<A> {
FromPrimitive::from_u64(n)
}
/// A utility function that just calls `FromPrimitive::from_f32`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_f32<A: FromPrimitive>(n: f32) -> Option<A> {
FromPrimitive::from_f32(n)
}
/// A utility function that just calls `FromPrimitive::from_f64`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn from_f64<A: FromPrimitive>(n: f64) -> Option<A> {
FromPrimitive::from_f64(n)
}
@ -1201,13 +1201,13 @@ impl_from_primitive! { f64, to_f64 }
/// ```
///
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "likely to be removed")]
pub fn cast<T: NumCast,U: NumCast>(n: T) -> Option<U> {
NumCast::from(n)
}
/// An interface for casting between machine scalars.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is likely to be removed")]
#[unstable(feature = "unnamed_feature", reason = "trait is likely to be removed")]
pub trait NumCast: ToPrimitive {
/// Creates a number from another value that can be converted into a primitive via the
/// `ToPrimitive` trait.
@ -1242,7 +1242,7 @@ impl_num_cast! { f64, to_f64 }
/// Used for representing the classification of floating point numbers
#[derive(Copy, PartialEq, Show)]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed")]
pub enum FpCategory {
/// "Not a Number", often obtained by dividing by zero
Nan,
@ -1262,7 +1262,7 @@ pub enum FpCategory {
//
// FIXME(#8888): Several of these functions have a parameter named
// `unused_self`. Removing it requires #8888 to be fixed.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "distribution of methods between core/std is unclear")]
pub trait Float
: Copy + Clone
@ -1418,20 +1418,20 @@ pub trait Float
}
/// A generic trait for converting a string with a radix (base) to a value
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "might need to return Result")]
#[unstable(feature = "unnamed_feature", reason = "might need to return Result")]
pub trait FromStrRadix {
fn from_str_radix(str: &str, radix: uint) -> Option<Self>;
}
/// A utility function that just calls FromStrRadix::from_str_radix.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "might need to return Result")]
#[unstable(feature = "unnamed_feature", reason = "might need to return Result")]
pub fn from_str_radix<T: FromStrRadix>(str: &str, radix: uint) -> Option<T> {
FromStrRadix::from_str_radix(str, radix)
}
macro_rules! from_str_radix_float_impl {
($T:ty) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might need to return Result")]
impl FromStr for $T {
/// Convert a string in base 10 to a float.
@ -1465,7 +1465,7 @@ macro_rules! from_str_radix_float_impl {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might need to return Result")]
impl FromStrRadix for $T {
/// Convert a string in a given base to a float.
@ -1630,7 +1630,7 @@ from_str_radix_float_impl! { f64 }
macro_rules! from_str_radix_int_impl {
($T:ty) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might need to return Result")]
impl FromStr for $T {
#[inline]
@ -1639,7 +1639,7 @@ macro_rules! from_str_radix_int_impl {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might need to return Result")]
impl FromStrRadix for $T {
fn from_str_radix(src: &str, radix: uint) -> Option<$T> {

View File

@ -12,9 +12,9 @@
macro_rules! uint_module { ($T:ty, $T_SIGNED:ty, $bits:expr) => (
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub const BITS : uint = $bits;
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub const BYTES : uint = ($bits / 8);
#[stable(feature = "grandfathered", since = "1.0.0")]

View File

@ -108,7 +108,7 @@ pub trait Drop {
// based on "op T" where T is expected to be `Copy`able
macro_rules! forward_ref_unop {
(impl $imp:ident, $method:ident for $t:ty) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added, waiting for dust to settle")]
impl<'a> $imp for &'a $t {
type Output = <$t as $imp>::Output;
@ -125,7 +125,7 @@ macro_rules! forward_ref_unop {
// based on "T op U" where T and U are expected to be `Copy`able
macro_rules! forward_ref_binop {
(impl $imp:ident, $method:ident for $t:ty, $u:ty) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added, waiting for dust to settle")]
impl<'a> $imp<$u> for &'a $t {
type Output = <$t as $imp<$u>>::Output;
@ -136,7 +136,7 @@ macro_rules! forward_ref_binop {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added, waiting for dust to settle")]
impl<'a> $imp<&'a $u> for $t {
type Output = <$t as $imp<$u>>::Output;
@ -147,7 +147,7 @@ macro_rules! forward_ref_binop {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added, waiting for dust to settle")]
impl<'a, 'b> $imp<&'a $u> for &'b $t {
type Output = <$t as $imp<$u>>::Output;
@ -974,10 +974,10 @@ pub trait IndexMut<Index: ?Sized> {
/// An unbounded range.
#[derive(Copy, Clone, PartialEq, Eq)]
#[lang="full_range"]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
pub struct FullRange;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl fmt::Show for FullRange {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
fmt::Show::fmt("..", fmt)
@ -987,7 +987,7 @@ impl fmt::Show for FullRange {
/// A (half-open) range which is bounded at both ends.
#[derive(Copy, Clone, PartialEq, Eq)]
#[lang="range"]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
pub struct Range<Idx> {
/// The lower bound of the range (inclusive).
pub start: Idx,
@ -995,7 +995,7 @@ pub struct Range<Idx> {
pub end: Idx,
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: Clone + Step> Iterator for Range<Idx> {
type Item = Idx;
@ -1020,7 +1020,7 @@ impl<Idx: Clone + Step> Iterator for Range<Idx> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: Clone + Step> DoubleEndedIterator for Range<Idx> {
#[inline]
fn next_back(&mut self) -> Option<Idx> {
@ -1033,10 +1033,10 @@ impl<Idx: Clone + Step> DoubleEndedIterator for Range<Idx> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: Clone + Step> ExactSizeIterator for Range<Idx> {}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: fmt::Show> fmt::Show for Range<Idx> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "{:?}..{:?}", self.start, self.end)
@ -1046,13 +1046,13 @@ impl<Idx: fmt::Show> fmt::Show for Range<Idx> {
/// A range which is only bounded below.
#[derive(Copy, Clone, PartialEq, Eq)]
#[lang="range_from"]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
pub struct RangeFrom<Idx> {
/// The lower bound of the range (inclusive).
pub start: Idx,
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: Clone + Step> Iterator for RangeFrom<Idx> {
type Item = Idx;
@ -1065,7 +1065,7 @@ impl<Idx: Clone + Step> Iterator for RangeFrom<Idx> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: fmt::Show> fmt::Show for RangeFrom<Idx> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "{:?}..", self.start)
@ -1075,13 +1075,13 @@ impl<Idx: fmt::Show> fmt::Show for RangeFrom<Idx> {
/// A range which is only bounded above.
#[derive(Copy, Clone, PartialEq, Eq)]
#[lang="range_to"]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
pub struct RangeTo<Idx> {
/// The upper bound of the range (exclusive).
pub end: Idx,
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "API still in development")]
#[unstable(feature = "unnamed_feature", reason = "API still in development")]
impl<Idx: fmt::Show> fmt::Show for RangeTo<Idx> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "..{:?}", self.end)
@ -1196,7 +1196,7 @@ impl<'a, T: ?Sized> DerefMut for &'a mut T {
/// A version of the call operator that takes an immutable receiver.
#[lang="fn"]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about variadic generics, input versus associated types")]
pub trait Fn<Args,Result> {
/// This is called when the call operator is used.
@ -1205,7 +1205,7 @@ pub trait Fn<Args,Result> {
/// A version of the call operator that takes a mutable receiver.
#[lang="fn_mut"]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about variadic generics, input versus associated types")]
pub trait FnMut<Args,Result> {
/// This is called when the call operator is used.
@ -1214,7 +1214,7 @@ pub trait FnMut<Args,Result> {
/// A version of the call operator that takes a by-value receiver.
#[lang="fn_once"]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about variadic generics, input versus associated types")]
pub trait FnOnce<Args,Result> {
/// This is called when the call operator is used.

View File

@ -285,7 +285,7 @@ impl<T> Option<T> {
/// assert_eq!(x, Some("Dirt"));
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting for mut conventions")]
pub fn as_mut_slice<'r>(&'r mut self) -> &'r mut [T] {
match *self {
@ -477,7 +477,7 @@ impl<T> Option<T> {
/// assert_eq!(x.ok_or(0i), Err(0i));
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn ok_or<E>(self, err: E) -> Result<T, E> {
match self {
Some(v) => Ok(v),
@ -498,7 +498,7 @@ impl<T> Option<T> {
/// assert_eq!(x.ok_or_else(|| 0i), Err(0i));
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn ok_or_else<E, F: FnOnce() -> E>(self, err: F) -> Result<T, E> {
match self {
Some(v) => Ok(v),
@ -543,7 +543,7 @@ impl<T> Option<T> {
/// assert_eq!(x.iter_mut().next(), None);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting for iterator conventions")]
pub fn iter_mut(&mut self) -> IterMut<T> {
IterMut { inner: Item { opt: self.as_mut() } }
@ -704,7 +704,7 @@ impl<T> Option<T> {
impl<'a, T: Clone, D: Deref<Target=T>> Option<D> {
/// Maps an Option<D> to an Option<T> by dereffing and cloning the contents of the Option.
/// Useful for converting an Option<&T> to an Option<T>.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added as part of collections reform")]
pub fn cloned(self) -> Option<T> {
self.map(|t| t.deref().clone())
@ -748,7 +748,7 @@ impl<T: Default> Option<T> {
// Trait implementations
/////////////////////////////////////////////////////////////////////////////
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting on the stability of the trait itself")]
impl<T> AsSlice<T> for Option<T> {
/// Convert from `Option<T>` to `&[T]` (without copying)

View File

@ -99,13 +99,13 @@ use cmp::Ordering::{self, Less, Equal, Greater};
// FIXME #19649: intrinsic docs don't render, so these have no docs :(
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub use intrinsics::copy_nonoverlapping_memory;
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub use intrinsics::copy_memory;
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "uncertain about naming and semantics")]
pub use intrinsics::set_memory;
@ -146,7 +146,7 @@ pub fn null_mut<T>() -> *mut T { 0 as *mut T }
/// Beyond accepting a raw pointer, this is unsafe because it will not drop the
/// contents of `dst`, and may be used to create invalid instances of `T`.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may play a larger role in std::ptr future extensions")]
pub unsafe fn zero_memory<T>(dst: *mut T, count: uint) {
set_memory(dst, 0, count);
@ -215,7 +215,7 @@ pub unsafe fn read<T>(src: *const T) -> T {
///
/// This is unsafe for the same reasons that `read` is unsafe.
#[inline(always)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "may play a larger role in std::ptr future extensions")]
pub unsafe fn read_and_zero<T>(dest: *mut T) -> T {
// Copy the data out from `dest`:
@ -262,7 +262,7 @@ pub trait PtrExt: Sized {
/// null-safety, it is important to note that this is still an unsafe
/// operation because the returned value could be pointing to invalid
/// memory.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Option is not clearly the right return type, and we may want \
to tie the return lifetime to a borrow of the raw pointer")]
unsafe fn as_ref<'a>(&self) -> Option<&'a Self::Target>;
@ -291,7 +291,7 @@ pub trait MutPtrExt {
///
/// As with `as_ref`, this is unsafe because it cannot verify the validity
/// of the returned pointer.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Option is not clearly the right return type, and we may want \
to tie the return lifetime to a borrow of the raw pointer")]
unsafe fn as_mut<'a>(&self) -> Option<&'a mut Self::Target>;
@ -312,7 +312,7 @@ impl<T> PtrExt for *const T {
}
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return value does not necessarily convey all possible \
information")]
unsafe fn as_ref<'a>(&self) -> Option<&'a T> {
@ -339,7 +339,7 @@ impl<T> PtrExt for *mut T {
}
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return value does not necessarily convey all possible \
information")]
unsafe fn as_ref<'a>(&self) -> Option<&'a T> {
@ -356,7 +356,7 @@ impl<T> MutPtrExt for *mut T {
type Target = T;
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "return value does not necessarily convey all possible \
information")]
unsafe fn as_mut<'a>(&self) -> Option<&'a mut T> {
@ -521,33 +521,33 @@ impl<T> PartialOrd for *mut T {
/// raw `*mut T` (which conveys no particular ownership semantics).
/// Useful for building abstractions like `Vec<T>` or `Box<T>`, which
/// internally use raw pointers to manage the memory that they own.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recently added to this module")]
#[unstable(feature = "unnamed_feature", reason = "recently added to this module")]
pub struct Unique<T>(pub *mut T);
/// `Unique` pointers are `Send` if `T` is `Send` because the data they
/// reference is unaliased. Note that this aliasing invariant is
/// unenforced by the type system; the abstraction using the
/// `Unique` must enforce it.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recently added to this module")]
#[unstable(feature = "unnamed_feature", reason = "recently added to this module")]
unsafe impl<T:Send> Send for Unique<T> { }
/// `Unique` pointers are `Sync` if `T` is `Sync` because the data they
/// reference is unaliased. Note that this aliasing invariant is
/// unenforced by the type system; the abstraction using the
/// `Unique` must enforce it.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "recently added to this module")]
#[unstable(feature = "unnamed_feature", reason = "recently added to this module")]
unsafe impl<T:Sync> Sync for Unique<T> { }
impl<T> Unique<T> {
/// Returns a null Unique.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added to this module")]
pub fn null() -> Unique<T> {
Unique(null_mut())
}
/// Return an (unsafe) pointer into the memory owned by `self`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "recently added to this module")]
pub unsafe fn offset(self, offset: int) -> *mut T {
self.0.offset(offset)

View File

@ -9,7 +9,7 @@
// except according to those terms.
#![allow(missing_docs)]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
//! Contains struct definitions for the layout of compiler built-in types.
//!

View File

@ -417,7 +417,7 @@ impl<T, E> Result<T, E> {
/// assert!(x.as_mut_slice().is_empty());
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "waiting for mut conventions")]
pub fn as_mut_slice(&mut self) -> &mut [T] {
match *self {
@ -950,7 +950,7 @@ impl<A, E, V: FromIterator<A>> FromIterator<Result<A, E>> for Result<V, E> {
/// If an `Err` is encountered, it is immediately returned.
/// Otherwise, the folded value is returned.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn fold<T,
V,
E,

View File

@ -36,7 +36,7 @@
#![allow(non_camel_case_types)]
#![allow(missing_docs)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
@ -45,26 +45,26 @@ pub struct i8x16(pub i8, pub i8, pub i8, pub i8,
pub i8, pub i8, pub i8, pub i8,
pub i8, pub i8, pub i8, pub i8);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct i16x8(pub i16, pub i16, pub i16, pub i16,
pub i16, pub i16, pub i16, pub i16);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct i32x4(pub i32, pub i32, pub i32, pub i32);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct i64x2(pub i64, pub i64);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
@ -73,32 +73,32 @@ pub struct u8x16(pub u8, pub u8, pub u8, pub u8,
pub u8, pub u8, pub u8, pub u8,
pub u8, pub u8, pub u8, pub u8);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct u16x8(pub u16, pub u16, pub u16, pub u16,
pub u16, pub u16, pub u16, pub u16);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct u32x4(pub u32, pub u32, pub u32, pub u32);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct u64x2(pub u64, pub u64);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]
pub struct f32x4(pub f32, pub f32, pub f32, pub f32);
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[simd]
#[derive(Copy, Show)]
#[repr(C)]

View File

@ -131,7 +131,7 @@ pub trait SliceExt {
fn clone_from_slice(&mut self, &[Self::Item]) -> uint where Self::Item: Clone;
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<T> SliceExt for [T] {
type Item = T;
@ -258,7 +258,7 @@ impl<T> SliceExt for [T] {
self.repr().data
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn binary_search_by<F>(&self, mut f: F) -> Result<uint, uint> where
F: FnMut(&T) -> Ordering
{
@ -452,12 +452,12 @@ impl<T> SliceExt for [T] {
m >= n && needle == &self[(m-n)..]
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn binary_search(&self, x: &T) -> Result<uint, uint> where T: Ord {
self.binary_search_by(|p| p.cmp(x))
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn next_permutation(&mut self) -> bool where T: Ord {
// These cases only have 1 permutation each, so we can't do anything.
if self.len() < 2 { return false; }
@ -488,7 +488,7 @@ impl<T> SliceExt for [T] {
true
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
fn prev_permutation(&mut self) -> bool where T: Ord {
// These cases only have 1 permutation each, so we can't do anything.
if self.len() < 2 { return false; }
@ -630,26 +630,26 @@ impl<T> ops::IndexMut<ops::FullRange> for [T] {
////////////////////////////////////////////////////////////////////////////////
/// Data that is viewable as a slice.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will be replaced by slice syntax")]
pub trait AsSlice<T> {
/// Work with `self` as a slice.
fn as_slice<'a>(&'a self) -> &'a [T];
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<T> AsSlice<T> for [T] {
#[inline(always)]
fn as_slice<'a>(&'a self) -> &'a [T] { self }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<'a, T, U: ?Sized + AsSlice<T>> AsSlice<T> for &'a U {
#[inline(always)]
fn as_slice(&self) -> &[T] { AsSlice::as_slice(*self) }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<'a, T, U: ?Sized + AsSlice<T>> AsSlice<T> for &'a mut U {
#[inline(always)]
fn as_slice(&self) -> &[T] { AsSlice::as_slice(*self) }
@ -755,7 +755,7 @@ pub struct Iter<'a, T: 'a> {
marker: marker::ContravariantLifetime<'a>
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::Range<uint>> for Iter<'a, T> {
type Output = [T];
#[inline]
@ -764,7 +764,7 @@ impl<'a, T> ops::Index<ops::Range<uint>> for Iter<'a, T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::RangeTo<uint>> for Iter<'a, T> {
type Output = [T];
#[inline]
@ -773,7 +773,7 @@ impl<'a, T> ops::Index<ops::RangeTo<uint>> for Iter<'a, T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::RangeFrom<uint>> for Iter<'a, T> {
type Output = [T];
#[inline]
@ -782,7 +782,7 @@ impl<'a, T> ops::Index<ops::RangeFrom<uint>> for Iter<'a, T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::FullRange> for Iter<'a, T> {
type Output = [T];
#[inline]
@ -796,7 +796,7 @@ impl<'a, T> Iter<'a, T> {
///
/// This has the same lifetime as the original slice, and so the
/// iterator can continue to be used while this exists.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn as_slice(&self) -> &'a [T] {
make_slice!(T => &'a [T]: self.ptr, self.end)
}
@ -814,7 +814,7 @@ impl<'a, T> Clone for Iter<'a, T> {
fn clone(&self) -> Iter<'a, T> { *self }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<'a, T> RandomAccessIterator for Iter<'a, T> {
#[inline]
fn indexable(&self) -> uint {
@ -848,7 +848,7 @@ pub struct IterMut<'a, T: 'a> {
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::Range<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -856,7 +856,7 @@ impl<'a, T> ops::Index<ops::Range<uint>> for IterMut<'a, T> {
self.index(&ops::FullRange).index(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::RangeTo<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -864,7 +864,7 @@ impl<'a, T> ops::Index<ops::RangeTo<uint>> for IterMut<'a, T> {
self.index(&ops::FullRange).index(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::RangeFrom<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -872,7 +872,7 @@ impl<'a, T> ops::Index<ops::RangeFrom<uint>> for IterMut<'a, T> {
self.index(&ops::FullRange).index(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::Index<ops::FullRange> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -881,7 +881,7 @@ impl<'a, T> ops::Index<ops::FullRange> for IterMut<'a, T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::IndexMut<ops::Range<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -889,7 +889,7 @@ impl<'a, T> ops::IndexMut<ops::Range<uint>> for IterMut<'a, T> {
self.index_mut(&ops::FullRange).index_mut(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::IndexMut<ops::RangeTo<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -897,7 +897,7 @@ impl<'a, T> ops::IndexMut<ops::RangeTo<uint>> for IterMut<'a, T> {
self.index_mut(&ops::FullRange).index_mut(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::IndexMut<ops::RangeFrom<uint>> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -905,7 +905,7 @@ impl<'a, T> ops::IndexMut<ops::RangeFrom<uint>> for IterMut<'a, T> {
self.index_mut(&ops::FullRange).index_mut(index)
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl<'a, T> ops::IndexMut<ops::FullRange> for IterMut<'a, T> {
type Output = [T];
#[inline]
@ -922,7 +922,7 @@ impl<'a, T> IterMut<'a, T> {
/// to consume the iterator. Consider using the `Slice` and
/// `SliceMut` implementations for obtaining slices with more
/// restricted lifetimes that do not consume the iterator.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn into_slice(self) -> &'a mut [T] {
make_slice!(T => &'a mut [T]: self.ptr, self.end)
}
@ -1270,7 +1270,7 @@ impl<'a, T> DoubleEndedIterator for Chunks<'a, T> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "trait is experimental")]
#[unstable(feature = "unnamed_feature", reason = "trait is experimental")]
impl<'a, T> RandomAccessIterator for Chunks<'a, T> {
#[inline]
fn indexable(&self) -> uint {
@ -1354,7 +1354,7 @@ impl<'a, T> DoubleEndedIterator for ChunksMut<'a, T> {
//
/// Converts a pointer to A into a slice of length 1 (without copying).
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn ref_slice<'a, A>(s: &'a A) -> &'a [A] {
unsafe {
transmute(RawSlice { data: s, len: 1 })
@ -1362,7 +1362,7 @@ pub fn ref_slice<'a, A>(s: &'a A) -> &'a [A] {
}
/// Converts a pointer to A into a slice of length 1 (without copying).
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn mut_ref_slice<'a, A>(s: &'a mut A) -> &'a mut [A] {
unsafe {
let ptr: *const A = transmute(s);
@ -1396,7 +1396,7 @@ pub fn mut_ref_slice<'a, A>(s: &'a mut A) -> &'a mut [A] {
/// }
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "should be renamed to from_raw_parts")]
pub unsafe fn from_raw_buf<'a, T>(p: &'a *const T, len: uint) -> &'a [T] {
transmute(RawSlice { data: *p, len: len })
@ -1409,7 +1409,7 @@ pub unsafe fn from_raw_buf<'a, T>(p: &'a *const T, len: uint) -> &'a [T] {
/// not being able to provide a non-aliasing guarantee of the returned mutable
/// slice.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "should be renamed to from_raw_parts_mut")]
pub unsafe fn from_raw_mut_buf<'a, T>(p: &'a *mut T, len: uint) -> &'a mut [T] {
transmute(RawSlice { data: *p, len: len })
@ -1420,7 +1420,7 @@ pub unsafe fn from_raw_mut_buf<'a, T>(p: &'a *mut T, len: uint) -> &'a mut [T] {
//
/// Operations on `[u8]`.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "needs review")]
#[unstable(feature = "unnamed_feature", reason = "needs review")]
pub mod bytes {
use ptr;
use slice::SliceExt;
@ -1508,7 +1508,7 @@ impl<T: PartialOrd> PartialOrd for [T] {
}
/// Extension methods for slices containing integers.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub trait IntSliceExt<U, S> {
/// Converts the slice to an immutable slice of unsigned integers with the same width.
fn as_unsigned<'a>(&'a self) -> &'a [U];
@ -1523,7 +1523,7 @@ pub trait IntSliceExt<U, S> {
macro_rules! impl_int_slice {
($u:ty, $s:ty, $t:ty) => {
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
impl IntSliceExt<$u, $s> for [$t] {
#[inline]
fn as_unsigned(&self) -> &[$u] { unsafe { transmute(self) } }

View File

@ -108,7 +108,7 @@ macro_rules! delegate_iter {
/// A trait to abstract the idea of creating a new instance of a type from a
/// string.
// FIXME(#17307): there should be an `E` associated type for a `Result` return
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "will return a Result once associated types are working")]
pub trait FromStr {
/// Parses a string `s` to return an optional value of this type. If the
@ -144,7 +144,7 @@ Section: Creating a string
/// Errors which can occur when attempting to interpret a byte slice as a `str`.
#[derive(Copy, Eq, PartialEq, Clone, Show)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "error enumeration recently added and definitions may be refined")]
pub enum Utf8Error {
/// An invalid byte was detected at the byte offset given.
@ -208,7 +208,7 @@ pub unsafe fn from_c_str(s: *const i8) -> &'static str {
}
/// Something that can be used to compare against a character
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "definition may change as pattern-related methods are stabilized")]
pub trait CharEq {
/// Determine if the splitter should split at the given character
@ -861,7 +861,7 @@ impl Searcher {
/// An iterator over the start and end indices of the matches of a
/// substring within a larger string
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "type may be removed")]
#[unstable(feature = "unnamed_feature", reason = "type may be removed")]
pub struct MatchIndices<'a> {
// constants
haystack: &'a str,
@ -872,7 +872,7 @@ pub struct MatchIndices<'a> {
/// An iterator over the substrings of a string separated by a given
/// search string
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "type may be removed")]
#[unstable(feature = "unnamed_feature", reason = "type may be removed")]
pub struct SplitStr<'a> {
it: MatchIndices<'a>,
last_end: uint,
@ -1056,7 +1056,7 @@ static UTF8_CHAR_WIDTH: [u8; 256] = [
/// the next `char` in a string. This can be used as a data structure
/// for iterating over the UTF-8 bytes of a string.
#[derive(Copy)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "naming is uncertain with container conventions")]
pub struct CharRange {
/// Current `char`
@ -1151,7 +1151,7 @@ mod traits {
}
/// Any string that can be represented as a slice
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "Instead of taking this bound generically, this trait will be \
replaced with one of slicing syntax, deref coercions, or \
a more generic conversion trait")]
@ -1178,7 +1178,7 @@ delegate_iter!{pattern &'a str : Split<'a, P>}
/// Return type of `StrExt::split_terminator`
#[derive(Clone)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "might get removed in favour of a constructor method on Split")]
pub struct SplitTerminator<'a, P>(CharSplits<'a, P>);
delegate_iter!{pattern &'a str : SplitTerminator<'a, P>}

View File

@ -15,7 +15,7 @@
//! [mz]: https://code.google.com/p/miniz/
#![crate_name = "flate"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![allow(unknown_features)] #![feature(int_uint)]
#![feature(unnamed_feature)]

View File

@ -15,7 +15,7 @@
//! generated instead.
#![crate_name = "fmt_macros"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![crate_type = "dylib"]

View File

@ -78,7 +78,7 @@
//! ```
#![crate_name = "getopts"]
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "use the crates.io `getopts` library instead")]
#![staged_api]
#![crate_type = "rlib"]

View File

@ -265,7 +265,7 @@
//! * [DOT language](http://www.graphviz.org/doc/info/lang.html)
#![crate_name = "graphviz"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![crate_type = "dylib"]

View File

@ -11,7 +11,7 @@
#![crate_name = "libc"]
#![crate_type = "rlib"]
#![cfg_attr(not(feature = "cargo-build"),
unstable(feature = "unnamed_feature", since = "1.0.0"))]
unstable(feature = "unnamed_feature"))]
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
#![cfg_attr(not(feature = "cargo-build"), feature(unnamed_feature))]
#![allow(unknown_features)] #![feature(int_uint)]

View File

@ -156,7 +156,7 @@
//! if logging is disabled, none of the components of the log will be executed.
#![crate_name = "log"]
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "use the crates.io `log` library instead")]
#![staged_api]
#![crate_type = "rlib"]

View File

@ -17,7 +17,7 @@
//! internally. The `IndependentSample` trait is for generating values
//! that do not need to record state.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
use core::prelude::*;
use core::num::{Float, Int};

View File

@ -25,7 +25,7 @@
#![feature(unnamed_feature)]
#![allow(unknown_features)] #![feature(int_uint)]
#![no_std]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#[macro_use]

View File

@ -16,7 +16,7 @@
//! http://www.matroska.org/technical/specs/rfc/index.html
#![crate_name = "rbml"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "rlib"]
#![crate_type = "dylib"]

View File

@ -16,7 +16,7 @@
#![crate_name = "regex"]
#![crate_type = "rlib"]
#![crate_type = "dylib"]
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "use the crates.io `regex` library instead")]
#![staged_api]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",

View File

@ -255,7 +255,7 @@ impl Regex {
}
#[doc(hidden)]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn names_iter<'a>(&'a self) -> NamesIter<'a> {
match *self {
Native(ref n) => NamesIterNative(n.names.iter()),

View File

@ -15,7 +15,7 @@
//! This API is completely unstable and subject to change.
#![crate_name = "rustc"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -22,7 +22,7 @@
//! build speedups.
#![crate_name = "rustc_back"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -12,7 +12,7 @@
#![staged_api]
#![crate_type = "rlib"]
#![no_std]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
//! A typesafe bitmask flag generator.

View File

@ -9,7 +9,7 @@
// except according to those terms.
#![crate_name = "rustc_borrowck"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -15,7 +15,7 @@
//! This API is completely unstable and subject to change.
#![crate_name = "rustc_driver"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -14,7 +14,7 @@
#![allow(dead_code)]
#![crate_name = "rustc_llvm"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -9,7 +9,7 @@
// except according to those terms.
#![crate_name = "rustc_privacy"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -9,7 +9,7 @@
// except according to those terms.
#![crate_name = "rustc_resolve"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -15,7 +15,7 @@
//! This API is completely unstable and subject to change.
#![crate_name = "rustc_trans"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -64,7 +64,7 @@ This API is completely unstable and subject to change.
*/
#![crate_name = "rustc_typeck"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -2496,7 +2496,8 @@ impl Clean<Stability> for attr::Stability {
Stability {
level: self.level,
feature: self.feature.get().to_string(),
since: self.since.get().to_string(),
since: self.since.as_ref().map_or("".to_string(),
|interned| interned.get().to_string()),
reason: self.reason.as_ref().map_or("".to_string(),
|interned| interned.get().to_string()),
}

View File

@ -9,7 +9,7 @@
// except according to those terms.
#![crate_name = "rustdoc"]
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![staged_api]
#![crate_type = "dylib"]
#![crate_type = "rlib"]

View File

@ -15,7 +15,7 @@ Core encoding and decoding interfaces.
*/
#![crate_name = "serialize"]
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "deprecated in favor of rustc-serialize on crates.io")]
#![staged_api]
#![crate_type = "rlib"]

View File

@ -12,7 +12,7 @@
//! Operations on ASCII strings and characters
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "unsure about placement and naming")]
use iter::IteratorExt;
@ -23,7 +23,7 @@ use string::String;
use vec::Vec;
/// Extension methods for ASCII-subset only operations on owned strings
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
pub trait OwnedAsciiExt {
/// Convert the string to ASCII upper case:
@ -38,7 +38,7 @@ pub trait OwnedAsciiExt {
}
/// Extension methods for ASCII-subset only operations on string slices
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
pub trait AsciiExt<T = Self> {
/// Check if within the ASCII range.
@ -60,7 +60,7 @@ pub trait AsciiExt<T = Self> {
fn eq_ignore_ascii_case(&self, other: &Self) -> bool;
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl AsciiExt<String> for str {
#[inline]
@ -86,7 +86,7 @@ impl AsciiExt<String> for str {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl OwnedAsciiExt for String {
#[inline]
@ -102,7 +102,7 @@ impl OwnedAsciiExt for String {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl AsciiExt<Vec<u8>> for [u8] {
#[inline]
@ -129,7 +129,7 @@ impl AsciiExt<Vec<u8>> for [u8] {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl OwnedAsciiExt for Vec<u8> {
#[inline]
@ -149,7 +149,7 @@ impl OwnedAsciiExt for Vec<u8> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl AsciiExt for u8 {
#[inline]
@ -173,7 +173,7 @@ impl AsciiExt for u8 {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "would prefer to do this in a more general way")]
impl AsciiExt for char {
#[inline]
@ -216,7 +216,7 @@ impl AsciiExt for char {
/// - Any other chars in the range [0x20,0x7e] are not escaped.
/// - Any other chars are given hex escapes.
/// - Unicode escapes are never generated by this function.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "needs to be updated to use an iterator")]
pub fn escape_default<F>(c: u8, mut f: F) where
F: FnMut(u8),

View File

@ -539,7 +539,7 @@ impl<K, V, S, H> HashMap<K, V, S>
/// map.insert(1i, 2u);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "hasher stuff is unclear")]
#[unstable(feature = "unnamed_feature", reason = "hasher stuff is unclear")]
pub fn with_hash_state(hash_state: S) -> HashMap<K, V, S> {
HashMap {
hash_state: hash_state,
@ -567,7 +567,7 @@ impl<K, V, S, H> HashMap<K, V, S>
/// map.insert(1i, 2u);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "hasher stuff is unclear")]
#[unstable(feature = "unnamed_feature", reason = "hasher stuff is unclear")]
pub fn with_capacity_and_hash_state(capacity: uint, hash_state: S)
-> HashMap<K, V, S> {
let resize_policy = DefaultResizePolicy::new();
@ -928,7 +928,7 @@ impl<K, V, S, H> HashMap<K, V, S>
}
/// Gets the given key's corresponding entry in the map for in-place manipulation.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still being fleshed out")]
pub fn entry<'a>(&'a mut self, key: K) -> Entry<'a, K, V>
{
@ -990,7 +990,7 @@ impl<K, V, S, H> HashMap<K, V, S>
/// assert!(a.is_empty());
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain(&mut self) -> Drain<K, V> {
fn last_two<A, B, C>((_, b, c): (A, B, C)) -> (B, C) { (b, c) }
@ -1339,7 +1339,7 @@ impl<'a, K, V> Clone for Values<'a, K, V> {
}
/// HashMap drain iterator
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub struct Drain<'a, K: 'a, V: 'a> {
inner: iter::Map<
@ -1351,14 +1351,14 @@ pub struct Drain<'a, K: 'a, V: 'a> {
}
/// A view into a single occupied location in a HashMap
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still being fleshed out")]
pub struct OccupiedEntry<'a, K: 'a, V: 'a> {
elem: FullBucket<K, V, &'a mut RawTable<K, V>>,
}
/// A view into a single empty location in a HashMap
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still being fleshed out")]
pub struct VacantEntry<'a, K: 'a, V: 'a> {
hash: SafeHash,
@ -1367,7 +1367,7 @@ pub struct VacantEntry<'a, K: 'a, V: 'a> {
}
/// A view into a single location in a map, which may be vacant or occupied
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "precise API still being fleshed out")]
pub enum Entry<'a, K: 'a, V: 'a> {
/// An occupied Entry
@ -1457,7 +1457,7 @@ impl<'a, K, V> ExactSizeIterator for Drain<'a, K, V> {
#[inline] fn len(&self) -> usize { self.inner.len() }
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
impl<'a, K, V> Entry<'a, K, V> {
/// Returns a mutable reference to the entry if occupied, or the VacantEntry if vacant
@ -1469,7 +1469,7 @@ impl<'a, K, V> Entry<'a, K, V> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
impl<'a, K, V> OccupiedEntry<'a, K, V> {
/// Gets a reference to the value in the entry
@ -1501,7 +1501,7 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform v2 specification, waiting for dust to settle")]
impl<'a, K: 'a, V: 'a> VacantEntry<'a, K, V> {
/// Sets the value of the entry with the VacantEntry's key,
@ -1554,14 +1554,14 @@ impl<K, V, S, H> Extend<(K, V)> for HashMap<K, V, S>
/// instances are unlikely to produce the same result for the same values.
#[derive(Clone)]
#[allow(missing_copy_implementations)]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "hashing an hash maps may be altered")]
pub struct RandomState {
k0: u64,
k1: u64,
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "hashing an hash maps may be altered")]
impl RandomState {
/// Construct a new `RandomState` that is initialized with random keys.
@ -1572,7 +1572,7 @@ impl RandomState {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "hashing an hash maps may be altered")]
impl HashState for RandomState {
type Hasher = Hasher;
@ -1581,7 +1581,7 @@ impl HashState for RandomState {
}
}
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "hashing an hash maps may be altered")]
impl Default for RandomState {
#[inline]

View File

@ -147,7 +147,7 @@ impl<T, S, H> HashSet<T, S>
/// set.insert(2u);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "hasher stuff is unclear")]
#[unstable(feature = "unnamed_feature", reason = "hasher stuff is unclear")]
pub fn with_hash_state(hash_state: S) -> HashSet<T, S> {
HashSet::with_capacity_and_hash_state(INITIAL_CAPACITY, hash_state)
}
@ -171,7 +171,7 @@ impl<T, S, H> HashSet<T, S>
/// set.insert(1i);
/// ```
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "hasher stuff is unclear")]
#[unstable(feature = "unnamed_feature", reason = "hasher stuff is unclear")]
pub fn with_capacity_and_hash_state(capacity: uint, hash_state: S)
-> HashSet<T, S> {
HashSet {
@ -419,7 +419,7 @@ impl<T, S, H> HashSet<T, S>
/// Clears the set, returning all elements in an iterator.
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "matches collection reform specification, waiting for dust to settle")]
pub fn drain(&mut self) -> Drain<T> {
fn first<A, B>((a, _): (A, B)) -> A { a }

View File

@ -337,7 +337,7 @@ pub mod hash_set {
/// Experimental support for providing custom hash algorithms to a HashMap and
/// HashSet.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "module was recently added")]
#[unstable(feature = "unnamed_feature", reason = "module was recently added")]
pub mod hash_state {
pub use super::hash::state::*;
}

View File

@ -12,7 +12,7 @@
//!
//! A simple wrapper over the platform's dynamic library facilities
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![allow(missing_docs)]
use prelude::v1::*;

View File

@ -86,7 +86,7 @@ use str::Utf8Error;
use string::{FromUtf8Error, FromUtf16Error};
/// Base functionality for all errors in Rust.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the exact API of this trait may change")]
pub trait Error {
/// A short description of the error; usually a static string.

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
use prelude::v1::*;

View File

@ -10,7 +10,7 @@
//! Utilities related to FFI bindings.
#![unstable(feature = "unnamed_feature", since = "1.0.0",
#![unstable(feature = "unnamed_feature",
reason = "module just underwent fairly large reorganization and the dust \
still needs to settle")]

View File

@ -403,7 +403,7 @@
//! them with the same character. For example, the `{` character is escaped with
//! `{{` and the `}` character is escaped with `}}`.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
use string;
@ -432,7 +432,7 @@ pub use core::fmt::{argument, argumentuint};
/// let s = fmt::format(format_args!("Hello, {}!", "world"));
/// assert_eq!(s, "Hello, world!".to_string());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "this is an implementation detail of format! and should not \
be called directly")]
pub fn format(args: Arguments) -> string::String {

View File

@ -219,7 +219,7 @@
//! concerned with error handling; instead its caller is responsible for
//! responding to errors that may occur while attempting to read the numbers.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![deny(unused_must_use)]
pub use self::SeekStyle::*;
@ -1743,7 +1743,7 @@ pub struct FileStat {
///
/// Usage of this field is discouraged, but if access is desired then the
/// fields are located here.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub unstable: UnstableFileStat,
}
@ -1751,7 +1751,7 @@ pub struct FileStat {
/// returned from a `stat` syscall which is not contained in the `FileStat`
/// structure. This information is not necessarily platform independent, and may
/// have different meanings or no meaning at all on some platforms.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[derive(Copy, Hash)]
pub struct UnstableFileStat {
/// The ID of the device containing the file.

View File

@ -68,7 +68,7 @@ impl UnixStream {
///
/// If a `timeout` with zero or negative duration is specified then
/// the function returns `Err`, with the error kind set to `TimedOut`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument is likely to change types")]
pub fn connect_timeout<P>(path: P, timeout: Duration)
-> IoResult<UnixStream>
@ -108,7 +108,7 @@ impl UnixStream {
/// Sets the read/write timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_timeout(timeout_ms)
@ -117,7 +117,7 @@ impl UnixStream {
/// Sets the read timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_read_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_read_timeout(timeout_ms)
@ -126,7 +126,7 @@ impl UnixStream {
/// Sets the write timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_write_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_write_timeout(timeout_ms)
@ -221,7 +221,7 @@ impl UnixAcceptor {
/// When using this method, it is likely necessary to reset the timeout as
/// appropriate, the timeout specified is specific to this object, not
/// specific to the next request.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the name and arguments to this function are likely \
to change")]
pub fn set_timeout(&mut self, timeout_ms: Option<u64>) {
@ -232,7 +232,7 @@ impl UnixAcceptor {
///
/// This function has the same semantics as `TcpAcceptor::close_accept`, and
/// more information can be found in that documentation.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn close_accept(&mut self) -> IoResult<()> {
self.inner.close_accept()
}

View File

@ -85,7 +85,7 @@ impl TcpStream {
///
/// If a `timeout` with zero or negative duration is specified then
/// the function returns `Err`, with the error kind set to `TimedOut`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may eventually change types")]
pub fn connect_timeout<A: ToSocketAddr>(addr: A,
timeout: Duration) -> IoResult<TcpStream> {
@ -110,7 +110,7 @@ impl TcpStream {
}
/// Sets the nodelay flag on this connection to the boolean specified
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_nodelay(&mut self, nodelay: bool) -> IoResult<()> {
self.inner.set_nodelay(nodelay)
}
@ -120,7 +120,7 @@ impl TcpStream {
/// If the value specified is `None`, then the keepalive flag is cleared on
/// this connection. Otherwise, the keepalive timeout will be set to the
/// specified time, in seconds.
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_keepalive(&mut self, delay_in_seconds: Option<uint>) -> IoResult<()> {
self.inner.set_keepalive(delay_in_seconds)
}
@ -188,7 +188,7 @@ impl TcpStream {
///
/// For clarification on the semantics of interrupting a read and a write,
/// take a look at `set_read_timeout` and `set_write_timeout`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_timeout(timeout_ms)
@ -206,7 +206,7 @@ impl TcpStream {
/// action is taken. Otherwise, the read operation will be scheduled to
/// promptly return. If a timeout error is returned, then no data was read
/// during the timeout period.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_read_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_read_timeout(timeout_ms)
@ -234,7 +234,7 @@ impl TcpStream {
/// does not know how many bytes were written as part of the timeout
/// operation. It may be the case that bytes continue to be written in an
/// asynchronous fashion after the call to write returns.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_write_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_write_timeout(timeout_ms)
@ -398,7 +398,7 @@ impl TcpAcceptor {
/// a.set_timeout(None);
/// let socket = a.accept();
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the type of the argument and name of this function are \
subject to change")]
pub fn set_timeout(&mut self, ms: Option<u64>) { self.inner.set_timeout(ms); }
@ -445,7 +445,7 @@ impl TcpAcceptor {
/// // Signal our accept loop to exit
/// assert!(a.close_accept().is_ok());
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn close_accept(&mut self) -> IoResult<()> {
self.inner.close_accept()
}

View File

@ -92,13 +92,13 @@ impl UdpSocket {
}
/// Joins a multicast IP address (becomes a member of it)
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn join_multicast(&mut self, multi: IpAddr) -> IoResult<()> {
self.inner.join_multicast(multi)
}
/// Leaves a multicast IP address (drops membership from it)
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn leave_multicast(&mut self, multi: IpAddr) -> IoResult<()> {
self.inner.leave_multicast(multi)
}
@ -106,25 +106,25 @@ impl UdpSocket {
/// Set the multicast loop flag to the specified value
///
/// This lets multicast packets loop back to local sockets (if enabled)
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_multicast_loop(&mut self, on: bool) -> IoResult<()> {
self.inner.set_multicast_loop(on)
}
/// Sets the multicast TTL
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_multicast_ttl(&mut self, ttl: int) -> IoResult<()> {
self.inner.multicast_time_to_live(ttl)
}
/// Sets this socket's TTL
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_ttl(&mut self, ttl: int) -> IoResult<()> {
self.inner.time_to_live(ttl)
}
/// Sets the broadcast flag on or off
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
pub fn set_broadcast(&mut self, broadcast: bool) -> IoResult<()> {
self.inner.set_broadcast(broadcast)
}
@ -132,7 +132,7 @@ impl UdpSocket {
/// Sets the read/write timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_timeout(timeout_ms)
@ -141,7 +141,7 @@ impl UdpSocket {
/// Sets the read timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_read_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_read_timeout(timeout_ms)
@ -150,7 +150,7 @@ impl UdpSocket {
/// Sets the write timeout for this socket.
///
/// For more information, see `TcpStream::set_timeout`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the timeout argument may change in type and value")]
pub fn set_write_timeout(&mut self, timeout_ms: Option<u64>) {
self.inner.set_write_timeout(timeout_ms)

View File

@ -689,7 +689,7 @@ impl Process {
/// p.wait()
/// }
/// ```
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "the type of the timeout is likely to change")]
pub fn set_timeout(&mut self, timeout_ms: Option<u64>) {
self.deadline = timeout_ms.map(|i| i + sys::timer::now()).unwrap_or(0);

View File

@ -14,7 +14,7 @@
//! library. Each macro is available for use when linking against the standard
//! library.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
/// The entry point for panic of Rust tasks.
///
@ -148,7 +148,7 @@ macro_rules! try {
///
/// For more information about select, see the `std::sync::mpsc::Select` structure.
#[macro_export]
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
macro_rules! select {
(
$($name:pat = $rx:ident.$meth:ident() => $code:expr),+

View File

@ -366,7 +366,7 @@ impl Float for f32 {
///
/// * num - The float value
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_string(num: f32) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigAll, ExpNone, false);
@ -379,7 +379,7 @@ pub fn to_string(num: f32) -> String {
///
/// * num - The float value
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_hex(num: f32) -> String {
let (r, _) = strconv::float_to_str_common(
num, 16u, true, SignNeg, DigAll, ExpNone, false);
@ -394,7 +394,7 @@ pub fn to_str_hex(num: f32) -> String {
/// * num - The float value
/// * radix - The base to use
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_radix_special(num: f32, rdx: uint) -> (String, bool) {
strconv::float_to_str_common(num, rdx, true, SignNeg, DigAll, ExpNone, false)
}
@ -407,7 +407,7 @@ pub fn to_str_radix_special(num: f32, rdx: uint) -> (String, bool) {
/// * num - The float value
/// * digits - The number of significant digits
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exact(num: f32, dig: uint) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigExact(dig), ExpNone, false);
@ -422,7 +422,7 @@ pub fn to_str_exact(num: f32, dig: uint) -> String {
/// * num - The float value
/// * digits - The number of significant digits
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_digits(num: f32, dig: uint) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigMax(dig), ExpNone, false);
@ -438,7 +438,7 @@ pub fn to_str_digits(num: f32, dig: uint) -> String {
/// * digits - The number of digits after the decimal point
/// * upper - Use `E` instead of `e` for the exponent sign
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exp_exact(num: f32, dig: uint, upper: bool) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigExact(dig), ExpDec, upper);
@ -454,7 +454,7 @@ pub fn to_str_exp_exact(num: f32, dig: uint, upper: bool) -> String {
/// * digits - The number of digits after the decimal point
/// * upper - Use `E` instead of `e` for the exponent sign
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exp_digits(num: f32, dig: uint, upper: bool) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigMax(dig), ExpDec, upper);

View File

@ -375,7 +375,7 @@ impl Float for f64 {
///
/// * num - The float value
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_string(num: f64) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigAll, ExpNone, false);
@ -388,7 +388,7 @@ pub fn to_string(num: f64) -> String {
///
/// * num - The float value
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_hex(num: f64) -> String {
let (r, _) = strconv::float_to_str_common(
num, 16u, true, SignNeg, DigAll, ExpNone, false);
@ -403,7 +403,7 @@ pub fn to_str_hex(num: f64) -> String {
/// * num - The float value
/// * radix - The base to use
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_radix_special(num: f64, rdx: uint) -> (String, bool) {
strconv::float_to_str_common(num, rdx, true, SignNeg, DigAll, ExpNone, false)
}
@ -416,7 +416,7 @@ pub fn to_str_radix_special(num: f64, rdx: uint) -> (String, bool) {
/// * num - The float value
/// * digits - The number of significant digits
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exact(num: f64, dig: uint) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigExact(dig), ExpNone, false);
@ -431,7 +431,7 @@ pub fn to_str_exact(num: f64, dig: uint) -> String {
/// * num - The float value
/// * digits - The number of significant digits
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_digits(num: f64, dig: uint) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigMax(dig), ExpNone, false);
@ -447,7 +447,7 @@ pub fn to_str_digits(num: f64, dig: uint) -> String {
/// * digits - The number of digits after the decimal point
/// * upper - Use `E` instead of `e` for the exponent sign
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exp_exact(num: f64, dig: uint, upper: bool) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigExact(dig), ExpDec, upper);
@ -463,7 +463,7 @@ pub fn to_str_exp_exact(num: f64, dig: uint, upper: bool) -> String {
/// * digits - The number of digits after the decimal point
/// * upper - Use `E` instead of `e` for the exponent sign
#[inline]
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub fn to_str_exp_digits(num: f64, dig: uint, upper: bool) -> String {
let (r, _) = strconv::float_to_str_common(
num, 10u, true, SignNeg, DigMax(dig), ExpDec, upper);

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![doc(hidden)]
macro_rules! assert_approx_eq {

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![doc(hidden)]
macro_rules! int_module { ($T:ty) => (

View File

@ -33,7 +33,7 @@ pub use core::num::{FpCategory};
use option::Option;
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be removed or relocated")]
#[unstable(feature = "unnamed_feature", reason = "may be removed or relocated")]
pub mod strconv;
/// Mathematical operations on primitive floating point numbers.
@ -52,27 +52,27 @@ pub trait Float
{
// inlined methods from `num::Float`
/// Returns the NaN value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn nan() -> Self;
/// Returns the infinite value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn infinity() -> Self;
/// Returns the negative infinite value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn neg_infinity() -> Self;
/// Returns the `0` value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn zero() -> Self;
/// Returns -0.0.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn neg_zero() -> Self;
/// Returns the `1` value.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn one() -> Self;
@ -109,37 +109,37 @@ pub trait Float
fn max_10_exp(unused_self: Option<Self>) -> int;
/// Returns the smallest finite value that this type can represent.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn min_value() -> Self;
/// Returns the smallest normalized positive number that this type can represent.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn min_pos_value(unused_self: Option<Self>) -> Self;
/// Returns the largest finite value that this type can represent.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn max_value() -> Self;
/// Returns true if this value is NaN and false otherwise.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "position is undecided")]
#[unstable(feature = "unnamed_feature", reason = "position is undecided")]
fn is_nan(self) -> bool;
/// Returns true if this value is positive infinity or negative infinity and
/// false otherwise.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "position is undecided")]
#[unstable(feature = "unnamed_feature", reason = "position is undecided")]
fn is_infinite(self) -> bool;
/// Returns true if this number is neither infinite nor NaN.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "position is undecided")]
#[unstable(feature = "unnamed_feature", reason = "position is undecided")]
fn is_finite(self) -> bool;
/// Returns true if this number is neither zero, infinite, denormal, or NaN.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "position is undecided")]
#[unstable(feature = "unnamed_feature", reason = "position is undecided")]
fn is_normal(self) -> bool;
/// Returns the category that this number falls into.
#[stable(feature = "grandfathered", since = "1.0.0")]
fn classify(self) -> FpCategory;
/// Returns the mantissa, exponent and sign as integers, respectively.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "signature is undecided")]
#[unstable(feature = "unnamed_feature", reason = "signature is undecided")]
fn integer_decode(self) -> (u64, i16, i8);
/// Return the largest integer less than or equal to a number.
@ -182,11 +182,11 @@ pub trait Float
/// Fused multiply-add. Computes `(self * a) + b` with only one rounding
/// error. This produces a more accurate result with better performance than
/// a separate multiplication operation followed by an add.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn mul_add(self, a: Self, b: Self) -> Self;
/// Take the reciprocal (inverse) of a number, `1/x`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn recip(self) -> Self;
@ -205,7 +205,7 @@ pub trait Float
#[stable(feature = "grandfathered", since = "1.0.0")]
fn sqrt(self) -> Self;
/// Take the reciprocal (inverse) square root of a number, `1/sqrt(x)`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn rsqrt(self) -> Self;
@ -229,15 +229,15 @@ pub trait Float
fn log10(self) -> Self;
/// Convert radians to degrees.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "desirability is unclear")]
#[unstable(feature = "unnamed_feature", reason = "desirability is unclear")]
fn to_degrees(self) -> Self;
/// Convert degrees to radians.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "desirability is unclear")]
#[unstable(feature = "unnamed_feature", reason = "desirability is unclear")]
fn to_radians(self) -> Self;
/// Constructs a floating point number created by multiplying `x` by 2
/// raised to the power of `exp`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn ldexp(x: Self, exp: int) -> Self;
/// Breaks the number into a normalized fraction and a base-2 exponent,
@ -246,13 +246,13 @@ pub trait Float
/// * `self = x * pow(2, exp)`
///
/// * `0.5 <= abs(x) < 1.0`
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "pending integer conventions")]
fn frexp(self) -> (Self, int);
/// Returns the next representable floating-point value in the direction of
/// `other`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn next_after(self, other: Self) -> Self;
@ -266,15 +266,15 @@ pub trait Float
/// The positive difference of two numbers. Returns `0.0` if the number is
/// less than or equal to `other`, otherwise the difference between`self`
/// and `other` is returned.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed")]
fn abs_sub(self, other: Self) -> Self;
/// Take the cubic root of a number.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed")]
fn cbrt(self) -> Self;
/// Calculate the length of the hypotenuse of a right-angle triangle given
/// legs of length `x` and `y`.
#[unstable(feature = "unnamed_feature", since = "1.0.0",
#[unstable(feature = "unnamed_feature",
reason = "unsure about its place in the world")]
fn hypot(self, other: Self) -> Self;
@ -313,11 +313,11 @@ pub trait Float
/// Returns the exponential of the number, minus 1, in a way that is
/// accurate even if the number is close to zero.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed")]
fn exp_m1(self) -> Self;
/// Returns the natural logarithm of the number plus 1 (`ln(1+n)`) more
/// accurately than if the operations were performed separately.
#[unstable(feature = "unnamed_feature", since = "1.0.0", reason = "may be renamed")]
#[unstable(feature = "unnamed_feature", reason = "may be renamed")]
fn ln_1p(self) -> Self;
/// Hyperbolic sine function.

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![doc(hidden)]
#![allow(unsigned_negation)]

View File

@ -22,7 +22,7 @@
//! so we will not _hide_ the facts of which OS the user is on -- they should be given the
//! opportunity to write OS-ignorant code by default.
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
#![allow(missing_docs)]
#![allow(non_snake_case)]

View File

@ -59,7 +59,7 @@
//! println!("path exists: {}", path.exists());
//! ```
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
use core::marker::Sized;
use ffi::CString;

View File

@ -19,7 +19,7 @@
#[doc(no_inline)] pub use ops::{Drop, Fn, FnMut, FnOnce};
// TEMPORARY
#[unstable(feature = "unnamed_feature", since = "1.0.0")]
#[unstable(feature = "unnamed_feature")]
#[doc(no_inline)] pub use ops::FullRange;
// Reexported functions

View File

@ -219,7 +219,7 @@
//! }
//! ```
#![unstable(feature = "unnamed_feature", since = "1.0.0")]
#![unstable(feature = "unnamed_feature")]
use cell::RefCell;
use clone::Clone;

Some files were not shown because too many files have changed in this diff Show More