1 // run-pass
2 //
3 #![allow(dead_code)]
4 // compile-flags: -O
5 
6 use std::collections::HashSet;
7 
8 #[derive(PartialEq, Debug, Hash, Eq, Clone, PartialOrd, Ord)]
9 enum MyEnum {
10     E0,
11 
12     E1,
13 
14     E2,
15     E3,
16     E4,
17 
18     E5,
19     E6,
20     E7,
21 }
22 
23 
main()24 fn main() {
25     use MyEnum::*;
26     let s: HashSet<_> = [E4, E1].iter().cloned().collect();
27     let mut v: Vec<_> = s.into_iter().collect();
28     v.sort();
29 
30     assert_eq!([E1, E4], &v[..]);
31 }
32