]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/implicit_hasher.stderr
Auto merge of #3603 - xfix:random-state-lint, r=phansch
[rust.git] / tests / ui / implicit_hasher.stderr
index 33788624b92cdccbd417916a5a4288178ec18796..0c61dbc4c645b1843a7544dc25e58c4b14c4fc4f 100644 (file)
-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