32 lines
726 B
Rust
32 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() {}
|