From 0ee95b917b30d7a48bcafa8b4642f3bcec4d50ff Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 9 Feb 2015 16:24:29 -0800 Subject: [PATCH] std: Mark IntoIterator::into_iter as #[stable 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 | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 2d240a53c4fe..20cd1c308394 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -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; }