]> git.lizzy.rs Git - rust.git/blob - tests/ui/impl-trait/universal_in_impl_trait_in_parameters.rs
Auto merge of #106742 - compiler-errors:new-solver-make-it-not-ice, r=lcnr
[rust.git] / tests / ui / impl-trait / universal_in_impl_trait_in_parameters.rs
1 // run-pass
2
3 use std::fmt::Display;
4
5 fn check_display_eq(iter: impl IntoIterator<Item = impl Display>) {
6     let mut collected = String::new();
7     for it in iter {
8         let disp = format!("{} ", it);
9         collected.push_str(&disp);
10     }
11     assert_eq!("0 3 27 823 4891 1 0", collected.trim());
12 }
13
14 fn main() {
15     let i32_list = [0i32, 3, 27, 823, 4891, 1, 0];
16     let i32_list_vec = vec![0i32, 3, 27, 823, 4891, 1, 0];
17     let u32_list = [0u32, 3, 27, 823, 4891, 1, 0];
18     let u32_list_vec = vec![0u32, 3, 27, 823, 4891, 1, 0];
19     let u16_list = [0u16, 3, 27, 823, 4891, 1, 0];
20     let str_list = ["0", "3", "27", "823", "4891", "1", "0"];
21     let str_list_vec = vec!["0", "3", "27", "823", "4891", "1", "0"];
22
23     check_display_eq(&i32_list);
24     check_display_eq(i32_list_vec);
25     check_display_eq(&u32_list);
26     check_display_eq(u32_list_vec);
27     check_display_eq(&u16_list);
28     check_display_eq(&str_list);
29     check_display_eq(str_list_vec);
30 }