]> git.lizzy.rs Git - rust.git/commitdiff
std: Mark IntoIterator::into_iter as #[stable
authorAlex Crichton <alex@alexcrichton.com>
Tue, 10 Feb 2015 00:24:29 +0000 (16:24 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Tue, 10 Feb 2015 00:26:52 +0000 (16:26 -0800)
Right now it is not possible to write a `for` loop without opting-in to the
`core` feature due to the way they're expanding (calling
`::std::iter::IntoIterator::into_iter`). There are some planned tweaks to the
`IntoIterator` trait (adding an `Item` associated type) which will cause
implementations of `IntoIterator` to break, but the *usage* of the trait is
currently stable.

This commit marks the method `into_iter` as stable as the name will not be
changing, nor the fact that it takes no arguments and returns one type (which is
determiend by the `Self` type). This means that usage of `for` loops is now
stable but manual implementations of the `IntoIterator` trait will continue to
be unstable.

src/libcore/iter.rs

index 2d240a53c4fea57dc76bfd85bd50e86ecebae02c..20cd1c3083944c32edf4daaf013e2808b783250a 100644 (file)
@@ -123,6 +123,7 @@ pub trait IntoIterator {
     type IntoIter: Iterator;
 
     /// Consumes `Self` and returns an iterator over it
+    #[stable(feature = "rust1", since = "1.0.0")]
     fn into_iter(self) -> Self::IntoIter;
 }