rust/tests/run-pass/ice-2774.rs
2018-06-07 07:42:45 +02:00

31 lines
726 B
Rust

use std::collections::HashSet;
// See https://github.com/rust-lang-nursery/rust-clippy/issues/2774
#[derive(Eq, PartialEq, Debug, Hash)]
pub struct Bar {
foo: Foo,
}
#[derive(Eq, PartialEq, Debug, Hash)]
pub struct Foo {}
#[allow(implicit_hasher)]
// This should not cause a 'cannot relate bound region' ICE
pub fn add_barfoos_to_foos<'a>(bars: &HashSet<&'a Bar>) {
let mut foos = HashSet::new();
foos.extend(
bars.iter().map(|b| &b.foo)
);
}
#[allow(implicit_hasher)]
// Also this should not cause a 'cannot relate bound region' ICE
pub fn add_barfoos_to_foos2(bars: &HashSet<&Bar>) {
let mut foos = HashSet::new();
foos.extend(
bars.iter().map(|b| &b.foo)
);
}
fn main() {}