blob: 39a59d3a39b636bb1052b68455698e4da9f1381a [file] [log] [blame]
//! Check for correct initialization of `HashSet` with enums. This is a regression test for a
//! codegen bug that caused the `HashSet` to appear as if it contained one of each enum variant.
//!
//! Regression test for <https://github.com/rust-lang/rust/issues/42918>
//@ run-pass
//@ compile-flags: -O
#![allow(dead_code)]
use std::collections::HashSet;
#[derive(PartialEq, Debug, Hash, Eq, Clone, PartialOrd, Ord)]
enum MyEnum {
E0,
E1,
E2,
E3,
E4,
E5,
E6,
E7,
}
fn main() {
use MyEnum::*;
let s: HashSet<_> = [E4, E1].iter().cloned().collect();
let mut v: Vec<_> = s.into_iter().collect();
v.sort();
assert_eq!([E1, E4], &v[..]);
}