2017-10-05 16:57:31 +02:00
|
|
|
error: impl for `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:11:35
|
|
|
|
|
|
|
|
|
11 | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V> {
|
|
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
= note: `-D implicit-hasher` implied by `-D warnings`
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
11 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashMap<K, V> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
11 | impl<K: Hash + Eq, V> Foo<i8> for HashMap<K, V, S> {
|
|
|
|
| ^^^^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
17 | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
|
|
|
|
error: impl for `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:20:36
|
|
|
|
|
|
|
|
|
20 | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V>,) {
|
|
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
20 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<i8> for (HashMap<K, V>,) {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
20 | impl<K: Hash + Eq, V> Foo<i8> for (HashMap<K, V, S>,) {
|
|
|
|
| ^^^^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
22 | ((HashMap::default(),), (HashMap::with_capacity_and_hasher(10, Default::default()),))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
|
|
|
|
error: impl for `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:25:19
|
|
|
|
|
|
|
|
|
25 | impl Foo<i16> for HashMap<String, String> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
25 | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashMap<String, String> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
25 | impl Foo<i16> for HashMap<String, String, S> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
27 | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
|
|
|
|
error: impl for `HashSet` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:43:32
|
|
|
|
|
|
|
|
|
43 | impl<T: Hash + Eq> Foo<i8> for HashSet<T> {
|
|
|
|
| ^^^^^^^^^^
|
|
|
|
|
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
43 | impl<T: Hash + Eq, S: ::std::hash::BuildHasher + Default> Foo<i8> for HashSet<T> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
43 | impl<T: Hash + Eq> Foo<i8> for HashSet<T, S> {
|
|
|
|
| ^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
45 | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default()))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
|
|
|
|
error: impl for `HashSet` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:48:19
|
|
|
|
|
|
|
|
|
48 | impl Foo<i16> for HashSet<String> {
|
|
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
48 | impl<S: ::std::hash::BuildHasher + Default> Foo<i16> for HashSet<String> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
48 | impl Foo<i16> for HashSet<String, S> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
50 | (HashSet::default(), HashSet::with_capacity_and_hasher(10, Default::default()))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-05 16:57:31 +02:00
|
|
|
|
|
|
|
error: parameter of type `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:65:23
|
|
|
|
|
|
|
|
|
65 | 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>) {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
error: parameter of type `HashSet` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:65:53
|
|
|
|
|
|
|
|
|
65 | 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>) {
|
|
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
2017-10-11 05:10:10 +02:00
|
|
|
error: impl for `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:70:43
|
|
|
|
|
|
|
|
|
70 | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V> {
|
|
|
|
| ^^^^^^^^^^^^^
|
|
|
|
...
|
|
|
|
83 | gen!(impl);
|
|
|
|
| ----------- in this macro invocation
|
|
|
|
|
|
|
|
|
help: consider adding a type parameter
|
|
|
|
|
|
2017-10-11 16:08:36 +02:00
|
|
|
70 | impl<K: Hash + Eq, V, S: ::std::hash::BuildHasher + Default> Foo<u8> for HashMap<K, V> {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-10-11 05:10:10 +02:00
|
|
|
help: ...and change the type to
|
|
|
|
|
|
|
|
|
70 | impl<K: Hash + Eq, V> Foo<u8> for HashMap<K, V, S> {
|
|
|
|
| ^^^^^^^^^^^^^^^^
|
2017-10-11 16:08:36 +02:00
|
|
|
help: ...and use generic constructor
|
|
|
|
|
|
|
|
|
72 | (HashMap::default(), HashMap::with_capacity_and_hasher(10, Default::default()))
|
|
|
|
| ^^^^^^^^^^^^^^^^^^
|
2017-10-11 05:10:10 +02:00
|
|
|
|
|
|
|
error: parameter of type `HashMap` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:78:33
|
|
|
|
|
|
|
|
|
78 | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
|
|
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
...
|
|
|
|
84 | 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>) {
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
error: parameter of type `HashSet` should be generarized over different hashers
|
|
|
|
--> $DIR/implicit_hasher.rs:78:63
|
|
|
|
|
|
|
|
|
78 | pub fn $name(_map: &mut HashMap<i32, i32>, _set: &mut HashSet<i32>) {
|
|
|
|
| ^^^^^^^^^^^^
|
|
|
|
...
|
|
|
|
84 | 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>) {
|
|
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|