@@ -581,11 +581,12 @@ where
581
581
}
582
582
}
583
583
584
- impl < T , Idx , K > SortedLinkedListView < T , Idx , K >
584
+ impl < T , Idx , K , S > SortedLinkedListInner < T , Idx , K , S >
585
585
where
586
586
T : Ord ,
587
587
Idx : SortedLinkedListIndex ,
588
588
K : Kind ,
589
+ S : SortedLinkedListStorage < T , Idx > + ?Sized ,
589
590
{
590
591
/// Get an iterator over the sorted list.
591
592
///
@@ -598,15 +599,15 @@ where
598
599
/// ll.push(1).unwrap();
599
600
/// ll.push(2).unwrap();
600
601
///
601
- /// let mut iter = ll.as_view(). iter();
602
+ /// let mut iter = ll.iter();
602
603
///
603
604
/// assert_eq!(iter.next(), Some(&2));
604
605
/// assert_eq!(iter.next(), Some(&1));
605
606
/// assert_eq!(iter.next(), None);
606
607
/// ```
607
608
pub fn iter ( & self ) -> IterView < ' _ , T , Idx , K > {
608
609
IterView {
609
- list : self ,
610
+ list : S :: as_view ( self ) ,
610
611
index : self . head ,
611
612
}
612
613
}
@@ -645,7 +646,7 @@ where
645
646
is_head : true ,
646
647
prev_index : Idx :: none ( ) ,
647
648
index : self . head ,
648
- list : self ,
649
+ list : S :: as_mut_view ( self ) ,
649
650
maybe_changed : false ,
650
651
} ) ;
651
652
}
@@ -658,7 +659,7 @@ where
658
659
is_head : false ,
659
660
prev_index : unsafe { Idx :: new_unchecked ( current) } ,
660
661
index : unsafe { Idx :: new_unchecked ( next) } ,
661
- list : self ,
662
+ list : S :: as_mut_view ( self ) ,
662
663
maybe_changed : false ,
663
664
} ) ;
664
665
}
@@ -868,11 +869,12 @@ where
868
869
// }
869
870
// }
870
871
871
- impl < T , Idx , K > fmt:: Debug for SortedLinkedListView < T , Idx , K >
872
+ impl < T , Idx , K , S > fmt:: Debug for SortedLinkedListInner < T , Idx , K , S >
872
873
where
873
874
T : Ord + core:: fmt:: Debug ,
874
875
Idx : SortedLinkedListIndex ,
875
876
K : Kind ,
877
+ S : ?Sized + SortedLinkedListStorage < T , Idx > ,
876
878
{
877
879
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
878
880
f. debug_list ( ) . entries ( self . iter ( ) ) . finish ( )
@@ -986,22 +988,22 @@ mod tests {
986
988
ll. push ( 2 ) . unwrap ( ) ;
987
989
ll. push ( 3 ) . unwrap ( ) ;
988
990
989
- let mut find = ll. as_mut_view ( ) . find_mut ( |v| * v == 2 ) . unwrap ( ) ;
991
+ let mut find = ll. find_mut ( |v| * v == 2 ) . unwrap ( ) ;
990
992
991
993
* find += 1000 ;
992
994
find. finish ( ) ;
993
995
994
996
assert_eq ! ( ll. peek( ) . unwrap( ) , & 1002 ) ;
995
997
996
- let mut find = ll. as_mut_view ( ) . find_mut ( |v| * v == 3 ) . unwrap ( ) ;
998
+ let mut find = ll. find_mut ( |v| * v == 3 ) . unwrap ( ) ;
997
999
998
1000
* find += 1000 ;
999
1001
find. finish ( ) ;
1000
1002
1001
1003
assert_eq ! ( ll. peek( ) . unwrap( ) , & 1003 ) ;
1002
1004
1003
1005
// Remove largest element
1004
- ll. as_mut_view ( ) . find_mut ( |v| * v == 1003 ) . unwrap ( ) . pop ( ) ;
1006
+ ll. find_mut ( |v| * v == 1003 ) . unwrap ( ) . pop ( ) ;
1005
1007
1006
1008
assert_eq ! ( ll. peek( ) . unwrap( ) , & 1002 ) ;
1007
1009
}
@@ -1021,7 +1023,7 @@ mod tests {
1021
1023
let mut ll: SortedLinkedList < u32 , LinkedIndexUsize , Max , 3 > = SortedLinkedList :: new_usize ( ) ;
1022
1024
ll. push ( 1 ) . unwrap ( ) ;
1023
1025
1024
- let mut find = ll. as_mut_view ( ) . find_mut ( |v| * v == 1 ) . unwrap ( ) ;
1026
+ let mut find = ll. find_mut ( |v| * v == 1 ) . unwrap ( ) ;
1025
1027
1026
1028
* find += 1000 ;
1027
1029
find. finish ( ) ;
0 commit comments