File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -736,6 +736,28 @@ fn test_from_iter_specialization() {
736
736
assert_eq ! ( srcptr, sinkptr) ;
737
737
}
738
738
739
+ #[ test]
740
+ fn test_from_iter_partially_drained_in_place_specialization ( ) {
741
+ let src: Vec < usize > = vec ! [ 0usize ; 10 ] ;
742
+ let srcptr = src. as_ptr ( ) ;
743
+ let mut iter = src. into_iter ( ) ;
744
+ iter. next ( ) ;
745
+ iter. next ( ) ;
746
+ let sink = iter. collect :: < Vec < _ > > ( ) ;
747
+ let sinkptr = sink. as_ptr ( ) ;
748
+ assert_eq ! ( srcptr, sinkptr) ;
749
+ }
750
+
751
+ #[ test]
752
+ fn test_extend_in_place_specialization ( ) {
753
+ let src: Vec < usize > = vec ! [ 0usize ; 1 ] ;
754
+ let srcptr = src. as_ptr ( ) ;
755
+ let mut dst = Vec :: new ( ) ;
756
+ dst. extend ( src. into_iter ( ) ) ;
757
+ let dstptr = dst. as_ptr ( ) ;
758
+ assert_eq ! ( srcptr, dstptr) ;
759
+ }
760
+
739
761
#[ test]
740
762
fn test_from_iter_specialization_with_iterator_adapters ( ) {
741
763
fn assert_in_place_trait < T : InPlaceIterable > ( _: & T ) { } ;
You can’t perform that action at this time.
0 commit comments