-error: impl for `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:11:35
+error: impl for `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:20:35
|
-11 | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V> {
+LL | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V> {
| ^^^^^^^^^^^^^
|
- = note: `-D implicit-hasher` implied by `-D warnings`
+ = note: `-D clippy::implicit-hasher` implied by `-D warnings`
help: consider adding a type parameter
|
-11 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher> Foo<i8> for HashMap<K, V> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashMap<K, V, S> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-11 | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V, S> {
- | ^^^^^^^^^^^^^^^^
+LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: impl for `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:20:36
+error: impl for `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:29:36
|
-20 | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V>,) {
+LL | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V>,) {
| ^^^^^^^^^^^^^
- |
help: consider adding a type parameter
|
-20 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher> Foo<i8> for (HashMap<K, V>,) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for (HashMap<K, V, S>,) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-20 | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V, S>,) {
- | ^^^^^^^^^^^^^^^^
+LL | ((HashMap::default(),), (HashMap::with_capacity_and_hasher(10, Default::default()),))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: impl for `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:25:19
+error: impl for `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:34:19
|
-25 | impl Foo<i16> for HashMap<String, String> {
+LL | impl Foo<i16> for HashMap<String, String> {
| ^^^^^^^^^^^^^^^^^^^^^^^
- |
help: consider adding a type parameter
|
-25 | impl<S: ::std::hash::BuildHasher> Foo<i16> for HashMap<String, String> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashMap<String, String, S> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-25 | impl Foo<i16> for HashMap<String, String, S> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: impl for `HashSet` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:43:32
+error: impl for `HashSet` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:51:32
|
-43 | impl<T: Hash + Eq> Foo<i8> for HashSet<T> {
+LL | impl<T: Hash + Eq> Foo<i8> for HashSet<T> {
| ^^^^^^^^^^
- |
help: consider adding a type parameter
|
-43 | impl<T: Hash + Eq, S: ::std::hash::BuildHasher> Foo<i8> for HashSet<T> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<T: Hash + Eq, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashSet<T, S> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-43 | impl<T: Hash + Eq> Foo<i8> for HashSet<T, S> {
- | ^^^^^^^^^^^^^
+LL | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default()))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: impl for `HashSet` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:48:19
+error: impl for `HashSet` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:56:19
|
-48 | impl Foo<i16> for HashSet<String> {
+LL | impl Foo<i16> for HashSet<String> {
| ^^^^^^^^^^^^^^^
- |
help: consider adding a type parameter
|
-48 | impl<S: ::std::hash::BuildHasher> Foo<i16> for HashSet<String> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashSet<String, S> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-48 | impl Foo<i16> for HashSet<String, S> {
- | ^^^^^^^^^^^^^^^^^^
+LL | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default()))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: parameter of type `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:65:23
+error: parameter of type `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:73:23
|
-65 | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
+LL | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {}
| ^^^^^^^^^^^^^^^^^
- |
help: consider adding a type parameter
|
-65 | pub fn foo<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
- |
-65 | pub fn foo(_map: &mut HashMap<i32, i32, S>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^
+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 generarized over different hashers
- --> $DIR/implicit_hasher.rs:65:53
+error: parameter of type `HashSet` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:73:53
|
-65 | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
+LL | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {}
| ^^^^^^^^^^^^
- |
help: consider adding a type parameter
|
-65 | pub fn foo<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
- |
-65 | pub fn foo(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32, S>) {
- | ^^^^^^^^^^^^^^^
+LL | pub fn foo<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32, S>) {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
-error: impl for `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:70:43
+error: impl for `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:77:43
|
-70 | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V> {
+LL | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V> {
| ^^^^^^^^^^^^^
...
-83 | gen!(impl);
+LL | gen!(impl);
| ----------- in this macro invocation
- |
help: consider adding a type parameter
|
-70 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher> Foo<u8> for HashMap<K, V> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
+LL | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<u8> for HashMap<K, V, S> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
+help: ...and use generic constructor
|
-70 | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V, S> {
- | ^^^^^^^^^^^^^^^^
+LL | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
+ | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: parameter of type `HashMap` should be generarized over different hashers
- --> $DIR/implicit_hasher.rs:78:33
+error: parameter of type `HashMap` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:85:33
|
-78 | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
+LL | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {}
| ^^^^^^^^^^^^^^^^^
...
-84 | gen!(fn bar);
+LL | gen!(fn bar);
| ------------- in this macro invocation
- |
help: consider adding a type parameter
|
-78 | pub fn $name<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
- |
-78 | pub fn $name(_map: &mut HashMap<i32, i32, S>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^
+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 generarized over different hashers
- --> $DIR/implicit_hasher.rs:78:63
+error: parameter of type `HashSet` should be generalized over different hashers
+ --> $DIR/implicit_hasher.rs:85:63
|
-78 | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
+LL | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {}
| ^^^^^^^^^^^^
...
-84 | gen!(fn bar);
+LL | gen!(fn bar);
| ------------- in this macro invocation
- |
help: consider adding a type parameter
|
-78 | pub fn $name<S: ::std::hash::BuildHasher>(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: ...and change the type to
- |
-78 | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32, S>) {
- | ^^^^^^^^^^^^^^^
+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