@@ -579,7 +579,7 @@ where
579579 } ) ?;
580580
581581 if is_empty {
582- return Try :: from_ok ( acc) ;
582+ return try { acc } ;
583583 }
584584
585585 loop {
@@ -715,7 +715,7 @@ where
715715 if self . first_take {
716716 self . first_take = false ;
717717 match self . iter . next ( ) {
718- None => return Try :: from_ok ( acc) ,
718+ None => return try { acc } ,
719719 Some ( x) => acc = f ( acc, x) ?,
720720 }
721721 }
@@ -792,7 +792,7 @@ where
792792 }
793793
794794 match self . next_back ( ) {
795- None => Try :: from_ok ( init) ,
795+ None => try { init } ,
796796 Some ( x) => {
797797 let acc = f ( init, x) ?;
798798 from_fn ( nth_back ( & mut self . iter , self . step ) ) . try_fold ( acc, f)
@@ -1075,7 +1075,7 @@ fn filter_try_fold<'a, T, Acc, R: Try<Ok = Acc>>(
10751075 predicate : & ' a mut impl FnMut ( & T ) -> bool ,
10761076 mut fold : impl FnMut ( Acc , T ) -> R + ' a ,
10771077) -> impl FnMut ( Acc , T ) -> R + ' a {
1078- move |acc, item| if predicate ( & item) { fold ( acc, item) } else { R :: from_ok ( acc) }
1078+ move |acc, item| if predicate ( & item) { fold ( acc, item) } else { try { acc } }
10791079}
10801080
10811081#[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -1229,7 +1229,7 @@ fn filter_map_try_fold<'a, T, B, Acc, R: Try<Ok = Acc>>(
12291229) -> impl FnMut ( Acc , T ) -> R + ' a {
12301230 move |acc, item| match f ( item) {
12311231 Some ( x) => fold ( acc, x) ,
1232- None => R :: from_ok ( acc) ,
1232+ None => try { acc } ,
12331233 }
12341234}
12351235
@@ -1660,7 +1660,7 @@ impl<I: Iterator> Iterator for Peekable<I> {
16601660 R : Try < Ok = B > ,
16611661 {
16621662 let acc = match self . peeked . take ( ) {
1663- Some ( None ) => return Try :: from_ok ( init) ,
1663+ Some ( None ) => return try { init } ,
16641664 Some ( Some ( v) ) => f ( init, v) ?,
16651665 None => init,
16661666 } ;
@@ -1703,7 +1703,7 @@ where
17031703 R : Try < Ok = B > ,
17041704 {
17051705 match self . peeked . take ( ) {
1706- Some ( None ) => Try :: from_ok ( init) ,
1706+ Some ( None ) => try { init } ,
17071707 Some ( Some ( v) ) => match self . iter . try_rfold ( init, & mut f) . into_result ( ) {
17081708 Ok ( acc) => f ( acc, v) ,
17091709 Err ( e) => {
@@ -1938,7 +1938,7 @@ where
19381938 if !self . flag {
19391939 match self . next ( ) {
19401940 Some ( v) => init = fold ( init, v) ?,
1941- None => return Try :: from_ok ( init) ,
1941+ None => return try { init } ,
19421942 }
19431943 }
19441944 self . iter . try_fold ( init, fold)
@@ -2065,13 +2065,13 @@ where
20652065 ControlFlow :: from_try ( fold ( acc, x) )
20662066 } else {
20672067 * flag = true ;
2068- ControlFlow :: Break ( Try :: from_ok ( acc) )
2068+ ControlFlow :: Break ( try { acc } )
20692069 }
20702070 }
20712071 }
20722072
20732073 if self . flag {
2074- Try :: from_ok ( init)
2074+ try { init }
20752075 } else {
20762076 let flag = & mut self . flag ;
20772077 let p = & mut self . predicate ;
@@ -2180,7 +2180,7 @@ where
21802180 let Self { iter, predicate } = self ;
21812181 iter. try_fold ( init, |acc, x| match predicate ( x) {
21822182 Some ( item) => ControlFlow :: from_try ( fold ( acc, item) ) ,
2183- None => ControlFlow :: Break ( Try :: from_ok ( acc) ) ,
2183+ None => ControlFlow :: Break ( try { acc } ) ,
21842184 } )
21852185 . into_try ( )
21862186 }
@@ -2316,7 +2316,7 @@ where
23162316 if n > 0 {
23172317 // nth(n) skips n+1
23182318 if self . iter . nth ( n - 1 ) . is_none ( ) {
2319- return Try :: from_ok ( init) ;
2319+ return try { init } ;
23202320 }
23212321 }
23222322 self . iter . try_fold ( init, fold)
@@ -2382,7 +2382,7 @@ where
23822382
23832383 let n = self . len ( ) ;
23842384 if n == 0 {
2385- Try :: from_ok ( init)
2385+ try { init }
23862386 } else {
23872387 self . iter . try_rfold ( init, check ( n, fold) ) . into_try ( )
23882388 }
@@ -2509,7 +2509,7 @@ where
25092509 }
25102510
25112511 if self . n == 0 {
2512- Try :: from_ok ( init)
2512+ try { init }
25132513 } else {
25142514 let n = & mut self . n ;
25152515 self . iter . try_fold ( init, check ( n, fold) ) . into_try ( )
@@ -2587,11 +2587,11 @@ where
25872587 R : Try < Ok = Acc > ,
25882588 {
25892589 if self . n == 0 {
2590- Try :: from_ok ( init)
2590+ try { init }
25912591 } else {
25922592 let len = self . iter . len ( ) ;
25932593 if len > self . n && self . iter . nth_back ( len - self . n - 1 ) . is_none ( ) {
2594- Try :: from_ok ( init)
2594+ try { init }
25952595 } else {
25962596 self . iter . try_rfold ( init, fold)
25972597 }
@@ -2687,7 +2687,7 @@ where
26872687 mut fold : impl FnMut ( Acc , B ) -> R + ' a ,
26882688 ) -> impl FnMut ( Acc , T ) -> ControlFlow < Acc , R > + ' a {
26892689 move |acc, x| match f ( state, x) {
2690- None => ControlFlow :: Break ( Try :: from_ok ( acc) ) ,
2690+ None => ControlFlow :: Break ( try { acc } ) ,
26912691 Some ( x) => ControlFlow :: from_try ( fold ( acc, x) ) ,
26922692 }
26932693 }
@@ -2951,7 +2951,7 @@ where
29512951 Ok ( x) => ControlFlow :: from_try ( f ( acc, x) ) ,
29522952 Err ( e) => {
29532953 * error = Err ( e) ;
2954- ControlFlow :: Break ( Try :: from_ok ( acc) )
2954+ ControlFlow :: Break ( try { acc } )
29552955 }
29562956 } )
29572957 . into_try ( )
0 commit comments