| error: impl for `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:15:35 |
| | |
| LL | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V> { |
| | ^^^^^^^^^^^^^ |
| | |
| = note: `-D clippy::implicit-hasher` implied by `-D warnings` |
| help: consider adding a type parameter |
| | |
| LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashMap<K, V, S> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default())) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: impl for `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:24:36 |
| | |
| LL | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V>,) { |
| | ^^^^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for (HashMap<K, V, S>,) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | ((HashMap::default(),), (HashMap::with_capacity_and_hasher(10, Default::default()),)) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: impl for `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:29:19 |
| | |
| LL | impl Foo<i16> for HashMap<String, String> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashMap<String, String, S> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default())) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: impl for `HashSet` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:46:32 |
| | |
| LL | impl<T: Hash + Eq> Foo<i8> for HashSet<T> { |
| | ^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | impl<T: Hash + Eq, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashSet<T, S> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default())) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: impl for `HashSet` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:51:19 |
| | |
| LL | impl Foo<i16> for HashSet<String> { |
| | ^^^^^^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashSet<String, S> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default())) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: parameter of type `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:68:23 |
| | |
| LL | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | pub fn foo<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32, S>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ |
| |
| error: parameter of type `HashSet` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:68:53 |
| | |
| LL | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^ |
| | |
| help: consider adding a type parameter |
| | |
| LL | pub fn foo<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32, S>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ |
| |
| error: impl for `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:72:43 |
| | |
| LL | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V> { |
| | ^^^^^^^^^^^^^ |
| ... |
| LL | gen!(impl); |
| | ----------- in this macro invocation |
| | |
| help: consider adding a type parameter |
| | |
| LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<u8> for HashMap<K, V, S> { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ |
| help: ...and use generic constructor |
| | |
| LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default())) |
| | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: parameter of type `HashMap` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:80:33 |
| | |
| LL | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^^^^^^ |
| ... |
| LL | gen!(fn bar); |
| | ------------- in this macro invocation |
| | |
| help: consider adding a type parameter |
| | |
| LL | pub fn $name<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32, S>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ |
| |
| error: parameter of type `HashSet` should be generalized over different hashers |
| --> $DIR/implicit_hasher.rs:80:63 |
| | |
| LL | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {} |
| | ^^^^^^^^^^^^ |
| ... |
| LL | gen!(fn bar); |
| | ------------- in this macro invocation |
| | |
| help: consider adding a type parameter |
| | |
| LL | pub fn $name<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32, S>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 10 previous errors |
| |