@@ -1388,4 +1388,37 @@ pub mod tests {
1388
1388
let vec = SmallVec :: < [ u8 ; 2 ] > :: from_iter ( 0 ..3 ) ;
1389
1389
assert_eq ! ( vec. into_vec( ) , vec![ 0 , 1 , 2 ] ) ;
1390
1390
}
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
+ }
1391
1424
}
0 commit comments