Rollup merge of #126347 - slanterns:try_simplify, r=scottmcm · model-checking/verify-rust-std@02cb1e9 (original) (raw)

`@@ -2080,8 +2080,7 @@ pub trait Iterator {

`

2080

2080

`fn try_collect(&mut self) -> ChangeOutputType<Self::Item, B>

`

2081

2081

`where

`

2082

2082

`Self: Sized,

`

2083

``

`-

::Item: Try,

`

2084

``

`-

<::Item as Try>::Residual: Residual,

`

``

2083

`+

Self::Item: Try<Residual: Residual>,

`

2085

2084

`B: FromIterator<<Self::Item as Try>::Output>,

`

2086

2085

`{

`

2087

2086

`try_process(ByRefSized(self), |i| i.collect())

`

`@@ -2689,12 +2688,13 @@ pub trait Iterator {

`

2689

2688

`#[inline]

`

2690

2689

`#[unstable(feature = "iterator_try_reduce", reason = "new API", issue = "87053")]

`

2691

2690

`#[rustc_do_not_const_check]

`

2692

``

`-

fn try_reduce<F, R>(&mut self, f: F) -> ChangeOutputType<R, Option<R::Output>>

`

``

2691

`+

fn try_reduce(

`

``

2692

`+

&mut self,

`

``

2693

`+

f: impl FnMut(Self::Item, Self::Item) -> R,

`

``

2694

`+

) -> ChangeOutputType<R, Option<R::Output>>

`

2693

2695

`where

`

2694

2696

`Self: Sized,

`

2695

``

`-

F: FnMut(Self::Item, Self::Item) -> R,

`

2696

``

`-

R: Try<Output = Self::Item>,

`

2697

``

`-

R::Residual: Residual<OptionSelf::Item>,

`

``

2697

`+

R: Try<Output = Self::Item, Residual: Residual<OptionSelf::Item>>,

`

2698

2698

`{

`

2699

2699

`let first = match self.next() {

`

2700

2700

`Some(i) => i,

`

`@@ -2956,12 +2956,13 @@ pub trait Iterator {

`

2956

2956

`#[inline]

`

2957

2957

`#[unstable(feature = "try_find", reason = "new API", issue = "63178")]

`

2958

2958

`#[rustc_do_not_const_check]

`

2959

``

`-

fn try_find<F, R>(&mut self, f: F) -> ChangeOutputType<R, OptionSelf::Item>

`

``

2959

`+

fn try_find(

`

``

2960

`+

&mut self,

`

``

2961

`+

f: impl FnMut(&Self::Item) -> R,

`

``

2962

`+

) -> ChangeOutputType<R, OptionSelf::Item>

`

2960

2963

`where

`

2961

2964

`Self: Sized,

`

2962

``

`-

F: FnMut(&Self::Item) -> R,

`

2963

``

`-

R: Try<Output = bool>,

`

2964

``

`-

R::Residual: Residual<OptionSelf::Item>,

`

``

2965

`+

R: Try<Output = bool, Residual: Residual<OptionSelf::Item>>,

`

2965

2966

`{

`

2966

2967

`#[inline]

`

2967

2968

`fn check<I, V, R>(

`