@@ -515,9 +515,7 @@ macro_rules! spec_int_ranges_r {
515515 unsafe impl StepByBackImpl <Range <$t>> for StepBy <Range <$t>> {
516516
517517 #[ inline]
518- fn spec_next_back( & mut self ) -> Option <Self :: Item >
519- where Range <$t>: DoubleEndedIterator + ExactSizeIterator ,
520- {
518+ fn spec_next_back( & mut self ) -> Option <Self :: Item > {
521519 let step = self . original_step( ) . get( ) as $t;
522520 let remaining = self . iter. end;
523521 if remaining > 0 {
@@ -533,9 +531,7 @@ macro_rules! spec_int_ranges_r {
533531 // We have to repeat them here so that the specialization overrides the StepByImplBack defaults
534532
535533 #[ inline]
536- fn spec_nth_back( & mut self , n: usize ) -> Option <Self :: Item >
537- where Self : DoubleEndedIterator ,
538- {
534+ fn spec_nth_back( & mut self , n: usize ) -> Option <Self :: Item > {
539535 if self . advance_back_by( n) . is_err( ) {
540536 return None ;
541537 }
@@ -544,10 +540,9 @@ macro_rules! spec_int_ranges_r {
544540
545541 #[ inline]
546542 fn spec_try_rfold<Acc , F , R >( & mut self , init: Acc , mut f: F ) -> R
547- where
548- Self : DoubleEndedIterator ,
549- F : FnMut ( Acc , Self :: Item ) -> R ,
550- R : Try <Output = Acc >
543+ where
544+ F : FnMut ( Acc , Self :: Item ) -> R ,
545+ R : Try <Output = Acc >
551546 {
552547 let mut accum = init;
553548 while let Some ( x) = self . next_back( ) {
@@ -558,9 +553,8 @@ macro_rules! spec_int_ranges_r {
558553
559554 #[ inline]
560555 fn spec_rfold<Acc , F >( mut self , init: Acc , mut f: F ) -> Acc
561- where
562- Self : DoubleEndedIterator ,
563- F : FnMut ( Acc , Self :: Item ) -> Acc
556+ where
557+ F : FnMut ( Acc , Self :: Item ) -> Acc
564558 {
565559 let mut accum = init;
566560 while let Some ( x) = self . next_back( ) {
0 commit comments