1 fn make_vec() -> Vec<u8> {
2 let mut v = Vec::with_capacity(4);
8 fn make_vec_macro() -> Vec<u8> {
12 fn make_vec_macro_repeat() -> Vec<u8> {
16 fn make_vec_macro_repeat_zeroed() -> Vec<u8> {
20 fn vec_into_iter() -> u8 {
24 .fold(0, |x, y| x + y)
27 fn vec_into_iter_rev() -> u8 {
31 .fold(0, |x, y| x + y)
34 fn vec_into_iter_zst() -> usize {
35 vec![[0u64; 0], [0u64; 0]]
42 fn vec_into_iter_rev_zst() -> usize {
43 vec![[0u64; 0], [0u64; 0]]
50 fn vec_iter_and_mut() {
51 let mut v = vec![1,2,3,4];
52 for i in v.iter_mut() {
55 assert_eq!(v.iter().sum::<i32>(), 2+3+4+5);
58 fn vec_iter_and_mut_rev() {
59 let mut v = vec![1,2,3,4];
60 for i in v.iter_mut().rev() {
63 assert_eq!(v.iter().sum::<i32>(), 2+3+4+5);
66 fn vec_reallocate() -> Vec<u8> {
67 let mut v = vec![1, 2];
75 assert_eq!(vec_reallocate().len(), 5);
77 assert_eq!(vec_into_iter(), 30);
78 assert_eq!(vec_into_iter_rev(), 30);
80 assert_eq!(vec_into_iter_zst(), 0);
81 assert_eq!(vec_into_iter_rev_zst(), 0);
82 vec_iter_and_mut_rev();
84 assert_eq!(make_vec().capacity(), 4);
85 assert_eq!(make_vec_macro(), [1, 2]);
86 assert_eq!(make_vec_macro_repeat(), [42; 5]);
87 assert_eq!(make_vec_macro_repeat_zeroed(), [0; 7]);