File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -2643,15 +2643,16 @@ fn test_peek_mut() {
26432643 assert ! ( vec. peek_mut( ) . is_none( ) ) ;
26442644 vec. push ( 1 ) ;
26452645 vec. push ( 2 ) ;
2646- if let Some ( mut p) = vec. peek_mut ( ) {
2647- assert_eq ! ( * p, 2 ) ;
2648- * p = 0 ;
2649- assert_eq ! ( * p, 0 ) ;
2650- PeekMut :: pop ( p) ;
2651- assert_eq ! ( vec. len( ) , 1 ) ;
2652- } else {
2653- unreachable ! ( )
2654- }
2646+ let mut p = vec. peek_mut ( ) . unwrap ( ) ;
2647+ assert_eq ! ( * p, 2 ) ;
2648+ * p = 0 ;
2649+ assert_eq ! ( * p, 0 ) ;
2650+ drop ( p) ;
2651+ assert_eq ! ( vec, vec![ 1 , 0 ] ) ;
2652+ let p = vec. peek_mut ( ) . unwrap ( ) ;
2653+ let p = PeekMut :: pop ( p) ;
2654+ assert_eq ! ( p, 0 ) ;
2655+ assert_eq ! ( vec, vec![ 1 ] ) ;
26552656}
26562657
26572658/// This assortment of tests, in combination with miri, verifies we handle UB on fishy arguments
You can’t perform that action at this time.
0 commit comments