From 6f1b56c499a0b4a5930067814cee5538eaab700a Mon Sep 17 00:00:00 2001 From: Jeremy Smart Date: Mon, 21 Jul 2025 21:44:48 -0400 Subject: [PATCH] add Rev::into_inner --- library/core/src/iter/adapters/rev.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/library/core/src/iter/adapters/rev.rs b/library/core/src/iter/adapters/rev.rs index 06ab15d5e900d..17d3eef597dcb 100644 --- a/library/core/src/iter/adapters/rev.rs +++ b/library/core/src/iter/adapters/rev.rs @@ -20,6 +20,25 @@ impl Rev { pub(in crate::iter) fn new(iter: T) -> Rev { Rev { iter } } + + /// Consumes the `Rev`, returning the inner iterator. + /// + /// # Examples + /// + /// ```rust + /// #![feature(rev_into_inner)] + /// + /// let s = "foobar"; + /// let mut rev = s.chars().rev(); + /// assert_eq!(rev.next(), Some('r')); + /// assert_eq!(rev.next(), Some('a')); + /// assert_eq!(rev.next(), Some('b')); + /// assert_eq!(rev.into_inner().collect::(), "foo"); + /// ``` + #[unstable(feature = "rev_into_inner", issue = "144277")] + pub fn into_inner(self) -> T { + self.iter + } } #[stable(feature = "rust1", since = "1.0.0")]