@@ -1388,4 +1388,37 @@ pub mod tests {
13881388 let vec = SmallVec :: < [ u8 ; 2 ] > :: from_iter ( 0 ..3 ) ;
13891389 assert_eq ! ( vec. into_vec( ) , vec![ 0 , 1 , 2 ] ) ;
13901390 }
1391+
1392+ #[ test]
1393+ fn test_from_vec ( ) {
1394+ let vec = vec ! [ ] ;
1395+ let small_vec: SmallVec < [ u8 ; 3 ] > = SmallVec :: from_vec ( vec) ;
1396+ assert_eq ! ( & * small_vec, & [ ] ) ;
1397+ drop ( small_vec) ;
1398+
1399+ let vec = vec ! [ ] ;
1400+ let small_vec: SmallVec < [ u8 ; 1 ] > = SmallVec :: from_vec ( vec) ;
1401+ assert_eq ! ( & * small_vec, & [ ] ) ;
1402+ drop ( small_vec) ;
1403+
1404+ let vec = vec ! [ 1 ] ;
1405+ let small_vec: SmallVec < [ u8 ; 3 ] > = SmallVec :: from_vec ( vec) ;
1406+ assert_eq ! ( & * small_vec, & [ 1 ] ) ;
1407+ drop ( small_vec) ;
1408+
1409+ let vec = vec ! [ 1 , 2 , 3 ] ;
1410+ let small_vec: SmallVec < [ u8 ; 3 ] > = SmallVec :: from_vec ( vec) ;
1411+ assert_eq ! ( & * small_vec, & [ 1 , 2 , 3 ] ) ;
1412+ drop ( small_vec) ;
1413+
1414+ let vec = vec ! [ 1 , 2 , 3 , 4 , 5 ] ;
1415+ let small_vec: SmallVec < [ u8 ; 3 ] > = SmallVec :: from_vec ( vec) ;
1416+ assert_eq ! ( & * small_vec, & [ 1 , 2 , 3 , 4 , 5 ] ) ;
1417+ drop ( small_vec) ;
1418+
1419+ let vec = vec ! [ 1 , 2 , 3 , 4 , 5 ] ;
1420+ let small_vec: SmallVec < [ u8 ; 1 ] > = SmallVec :: from_vec ( vec) ;
1421+ assert_eq ! ( & * small_vec, & [ 1 , 2 , 3 , 4 , 5 ] ) ;
1422+ drop ( small_vec) ;
1423+ }
13911424}
0 commit comments