]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_data_structures/src/thin_vec/tests.rs
Auto merge of #83706 - a1phyr:fix_vec_layout_calculation, r=JohnTitor
[rust.git] / compiler / rustc_data_structures / src / thin_vec / tests.rs
1 use super::*;
2
3 impl<T> ThinVec<T> {
4     fn into_vec(self) -> Vec<T> {
5         self.into()
6     }
7 }
8
9 #[test]
10 fn test_from_iterator() {
11     assert_eq!(std::iter::empty().collect::<ThinVec<String>>().into_vec(), Vec::<String>::new());
12     assert_eq!(std::iter::once(42).collect::<ThinVec<_>>().into_vec(), vec![42]);
13     assert_eq!([1, 2].into_iter().collect::<ThinVec<_>>().into_vec(), vec![1, 2]);
14     assert_eq!([1, 2, 3].into_iter().collect::<ThinVec<_>>().into_vec(), vec![1, 2, 3]);
15 }
16
17 #[test]
18 fn test_into_iterator_owned() {
19     assert_eq!(ThinVec::new().into_iter().collect::<Vec<String>>(), Vec::<String>::new());
20     assert_eq!(ThinVec::from(vec![1]).into_iter().collect::<Vec<_>>(), vec![1]);
21     assert_eq!(ThinVec::from(vec![1, 2]).into_iter().collect::<Vec<_>>(), vec![1, 2]);
22     assert_eq!(ThinVec::from(vec![1, 2, 3]).into_iter().collect::<Vec<_>>(), vec![1, 2, 3]);
23 }
24
25 #[test]
26 fn test_into_iterator_ref() {
27     assert_eq!(ThinVec::new().iter().collect::<Vec<&String>>(), Vec::<&String>::new());
28     assert_eq!(ThinVec::from(vec![1]).iter().collect::<Vec<_>>(), vec![&1]);
29     assert_eq!(ThinVec::from(vec![1, 2]).iter().collect::<Vec<_>>(), vec![&1, &2]);
30     assert_eq!(ThinVec::from(vec![1, 2, 3]).iter().collect::<Vec<_>>(), vec![&1, &2, &3]);
31 }
32
33 #[test]
34 fn test_into_iterator_ref_mut() {
35     assert_eq!(ThinVec::new().iter_mut().collect::<Vec<&mut String>>(), Vec::<&mut String>::new());
36     assert_eq!(ThinVec::from(vec![1]).iter_mut().collect::<Vec<_>>(), vec![&mut 1]);
37     assert_eq!(ThinVec::from(vec![1, 2]).iter_mut().collect::<Vec<_>>(), vec![&mut 1, &mut 2]);
38     assert_eq!(
39         ThinVec::from(vec![1, 2, 3]).iter_mut().collect::<Vec<_>>(),
40         vec![&mut 1, &mut 2, &mut 3],
41     );
42 }