[INFO] fetching crate sequoia-cert-store 0.7.6...
[INFO] checking sequoia-cert-store-0.7.6 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate sequoia-cert-store 0.7.6 into /workspace/builds/worker-5-tc2/source
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate sequoia-cert-store 0.7.6
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sequoia-cert-store 0.7.6
[INFO] tweaked toml for crates.io crate sequoia-cert-store 0.7.6 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sequoia-cert-store 0.7.6 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sequoia-cert-store 0.7.6 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f
[INFO] running `Command { std: "docker" "start" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling clang-sys v1.9.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling term v1.2.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling keccak v0.1.6
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling ena v0.14.4
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling lalrpop-util v0.22.2
[INFO] [stderr]    Compiling ascii-canvas v4.0.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling sha1collisiondetection v0.3.4
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking generic-array v1.4.5
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.2
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking buffered-reader v1.4.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking xxhash-rust v0.8.18
[INFO] [stderr]     Checking memsec v0.7.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking hashlink v0.12.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking crossbeam-queue v0.3.14
[INFO] [stderr]     Checking crossbeam-channel v0.5.17
[INFO] [stderr]     Checking z-base-32 v0.1.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]    Compiling sequoia-cert-store v0.7.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]    Compiling sha3 v0.10.9
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking crossbeam v0.8.5
[INFO] [stderr]     Checking rusqlite v0.40.2
[INFO] [stderr]    Compiling lalrpop v0.22.2
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking openpgp-cert-d v0.3.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling nettle-sys v2.3.2
[INFO] [stderr]     Checking hickory-proto v0.24.4
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling sequoia-openpgp v2.4.1
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]     Checking hickory-client v0.24.4
[INFO] [stderr]     Checking hickory-resolver v0.24.4
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking nettle v7.5.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sequoia-net v0.30.1
[INFO] [stdout] warning: use of deprecated method `rusqlite::trace::<impl rusqlite::Connection>::trace`: use trace_v2 instead
[INFO] [stdout]    --> src/store/certd.rs:338:18
[INFO] [stdout]     |
[INFO] [stdout] 338 |             conn.trace(Some(trace));
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rusqlite::trace::<impl rusqlite::Connection>::trace`: use trace_v2 instead
[INFO] [stdout]    --> src/store/certd.rs:338:18
[INFO] [stdout]     |
[INFO] [stdout] 338 |             conn.trace(Some(trace));
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `rusqlite::Error`
[INFO] [stdout]    --> src/store/certd/cache.rs:238:36
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         return Err(err.into());
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 238 -                         return Err(err.into());
[INFO] [stdout] 238 +                         return Err(err);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 238 -                         return Err(err.into());
[INFO] [stdout] 238 +                         return Err(<rusqlite::Error as Into<_>>::into(err));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `rusqlite::Error`
[INFO] [stdout]     --> src/store/certd.rs:1448:17
[INFO] [stdout]      |
[INFO] [stdout] 1448 |             Err(e.into())
[INFO] [stdout]      |                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1448 -             Err(e.into())
[INFO] [stdout] 1448 +             Err(e)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1448 -             Err(e.into())
[INFO] [stdout] 1448 +             Err(<rusqlite::Error as Into<_>>::into(e))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `String`
[INFO] [stdout]    --> src/store/pep.rs:647:61
[INFO] [stdout]     |
[INFO] [stdout] 647 |         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 647 -         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout] 647 +         cert_query!(stmt, [ &email ], StoreError::NoMatches(email))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 647 -         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout] 647 +         cert_query!(stmt, [ &email ], StoreError::NoMatches(<String as Into<_>>::into(email)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]     --> src/store.rs:1347:25
[INFO] [stdout]      |
[INFO] [stdout] 1347 |                     Err(err.into())
[INFO] [stdout]      |                         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1347 -                     Err(err.into())
[INFO] [stdout] 1347 +                     Err(err)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1347 -                     Err(err.into())
[INFO] [stdout] 1347 +                     Err(<anyhow::Error as Into<_>>::into(err))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 | /             wrap_err!(
[INFO] [stdout] 238 | |                 Connection::open_with_flags(
[INFO] [stdout] 239 | |                     &keys_db,
[INFO] [stdout] 240 | |                     OpenFlags::SQLITE_OPEN_READ_WRITE
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |                 InitCannotOpenDB,
[INFO] [stdout] 244 | |                 format!("Opening keys DB ('{}')", keys_db.display()))?
[INFO] [stdout]     | |_____________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 | /             wrap_err!(
[INFO] [stdout] 248 | |                 Connection::open_in_memory(),
[INFO] [stdout] 249 | |                 InitCannotOpenDB,
[INFO] [stdout] 250 | |                 "Creating in-memory keys DB")?
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | /         wrap_err!(
[INFO] [stdout] 254 | |             conn.execute_batch("PRAGMA secure_delete=true;
[INFO] [stdout] 255 | |                                 PRAGMA foreign_keys=true;
[INFO] [stdout] 256 | |                                 PRAGMA locking_mode=NORMAL;
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |             format!("Setting pragmas on keys DB ('{}')",
[INFO] [stdout] 260 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 | /         wrap_err!(
[INFO] [stdout] 263 | |             conn.busy_timeout(BUSY_WAIT_TIME),
[INFO] [stdout] 264 | |             InitCannotOpenDB,
[INFO] [stdout] 265 | |             format!("Setting busy time ('{}')", keys_db.display()))?;
[INFO] [stdout]     | |___________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 | /         wrap_err!(
[INFO] [stdout] 268 | |             conn.create_collation("EMAIL", Self::email_cmp),
[INFO] [stdout] 269 | |             InitCannotOpenDB,
[INFO] [stdout] 270 | |             format!("Registering EMAIL collation function"))?;
[INFO] [stdout]     | |____________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 | /         wrap_err!(
[INFO] [stdout] 273 | |             conn.execute_batch(
[INFO] [stdout] 274 | |                 "CREATE TABLE IF NOT EXISTS keys (
[INFO] [stdout] 275 | |                     primary_key TEXT UNIQUE PRIMARY KEY,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |             format!("Creating keys table ('{}')",
[INFO] [stdout] 283 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 | /         wrap_err!(
[INFO] [stdout] 286 | |             conn.execute_batch(
[INFO] [stdout] 287 | |                 "CREATE TABLE IF NOT EXISTS subkeys (
[INFO] [stdout] 288 | |                    subkey TEXT NOT NULL /* KeyID */,
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |             format!("Creating subkeys table ('{}')",
[INFO] [stdout] 299 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 | /         wrap_err!(
[INFO] [stdout] 302 | |             conn.execute_batch(
[INFO] [stdout] 303 | |                 "CREATE TABLE IF NOT EXISTS userids (
[INFO] [stdout] 304 | |                     userid TEXT NOT NULL COLLATE EMAIL,
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |             format!("Creating userids table ('{}')",
[INFO] [stdout] 315 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 324 | /     sql_stmt!(cert_find_stmt,
[INFO] [stdout] 325 | |               "SELECT tpk, secret FROM keys WHERE primary_key == ?");
[INFO] [stdout]     | |____________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 329 | /     sql_stmt!(cert_find_by_keyid_stmt,
[INFO] [stdout] 330 | |               "SELECT tpk, secret FROM keys WHERE primary_key like '%' || ?");
[INFO] [stdout]     | |_____________________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 334 | /     sql_stmt!(tsk_find_stmt,
[INFO] [stdout] 335 | |               "SELECT tpk, secret FROM keys
[INFO] [stdout] 336 | |                  WHERE primary_key == ? and secret == 1");
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 342 | /     sql_stmt!(cert_find_with_key_stmt,
[INFO] [stdout] 343 | |               "SELECT tpk, secret FROM subkeys
[INFO] [stdout] 344 | |                 LEFT JOIN keys
[INFO] [stdout] 345 | |                  ON subkeys.primary_key == keys.primary_key
[INFO] [stdout] 346 | |                 WHERE subkey == ?");
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 352 | /     sql_stmt!(tsk_find_with_key_stmt,
[INFO] [stdout] 353 | |               "SELECT tpk, secret FROM subkeys
[INFO] [stdout] 354 | |                 LEFT JOIN keys
[INFO] [stdout] 355 | |                  ON subkeys.primary_key == keys.primary_key
[INFO] [stdout] 356 | |                 WHERE subkey == ? and keys.secret == 1");
[INFO] [stdout]     | |________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 360 | /     sql_stmt!(cert_find_by_email_stmt,
[INFO] [stdout] 361 | |               "SELECT tpk, secret FROM userids
[INFO] [stdout] 362 | |                 LEFT JOIN keys
[INFO] [stdout] 363 | |                  ON userids.primary_key == keys.primary_key
[INFO] [stdout] 364 | |                 WHERE userid == ?");
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 368 | /     sql_stmt!(cert_list_stmt,
[INFO] [stdout] 369 | |               "select primary_key from keys");
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 373 | /     sql_stmt!(cert_all_stmt,
[INFO] [stdout] 374 | |               "select tpk, secret from keys");
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 378 | /     sql_stmt!(tsk_all_stmt,
[INFO] [stdout] 379 | |               "select tpk, secret from keys where secret = 1");
[INFO] [stdout]     | |______________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 382 | /     sql_stmt!(cert_save_insert_primary_stmt,
[INFO] [stdout] 383 | |               "INSERT OR REPLACE INTO keys (primary_key, secret, tpk)
[INFO] [stdout] 384 | |                 VALUES (?, ?, ?)");
[INFO] [stdout]     | |__________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 387 | /     sql_stmt!(cert_save_insert_subkeys_stmt,
[INFO] [stdout] 388 | |               "INSERT OR REPLACE INTO subkeys (subkey, primary_key)
[INFO] [stdout] 389 | |                 VALUES (?, ?)");
[INFO] [stdout]     | |_______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 392 | /     sql_stmt!(cert_save_insert_userids_stmt,
[INFO] [stdout] 393 | |               "INSERT OR REPLACE INTO userids (userid, primary_key)
[INFO] [stdout] 394 | |                 VALUES (?, ?)");
[INFO] [stdout]     | |_______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 401 | /     sql_stmt!(cert_delete_stmt,
[INFO] [stdout] 402 | |               "DELETE FROM keys WHERE primary_key = ?");
[INFO] [stdout]     | |_______________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = cert_query!(stmt, [ fpr.to_hex() ],
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |                             StoreError::NotFound(KeyHandle::from(fpr)))?;
[INFO] [stdout]     | |_______________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = cert_query!(stmt, [ fpr.to_hex() ],
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |                             StoreError::NotFound(KeyHandle::from(fpr)))?;
[INFO] [stdout]     | |_______________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 475 |           cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 475 |           cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 490 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 490 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |           let changes = wrap_err!(
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 512 | |             Self::cert_delete_stmt(&conn)?
[INFO] [stdout] 513 | |                 .execute(params![ fpr.to_hex() ]),
[INFO] [stdout] 514 | |             CannotDeleteKey,
[INFO] [stdout] 515 | |             format!("Deleting {}", fpr))?;
[INFO] [stdout]     | |________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 546 |           cert_query!(stmt, [ kh.to_hex() ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sequoia-cert-store` (lib) due to 49 previous errors; 1 warning emitted
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 546 |           cert_query!(stmt, [ kh.to_hex() ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 568 |               = cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))?;
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 568 |               = cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))?;
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 647 |           cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |           ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 647 |           cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |           ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |               let rows = wrap_err!(
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 666 | |                 stmt.query_map([ ], |row: &Row| {
[INFO] [stdout] 667 | |                     let fpr: String = row.get(0)?;
[INFO] [stdout] 668 | |                     Ok(fpr)
[INFO] [stdout] 669 | |                 }),
[INFO] [stdout] 670 | |                 UnknownDbError,
[INFO] [stdout] 671 | |                 "executing query")?;
[INFO] [stdout]     | |__________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 675 |                 let fpr = wrap_err!(row, UnknownError, "parsing result")?;
[INFO] [stdout]     |                           ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 711 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 711 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |           let tx = wrap_err!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 736 | |             conn.transaction(),
[INFO] [stdout] 737 | |             UnknownDbError,
[INFO] [stdout] 738 | |             "starting transaction"
[INFO] [stdout] 739 | |         )?;
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 |           let r = wrap_err!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 744 | |             Self::cert_find_stmt(&tx)?
[INFO] [stdout] 745 | |                 .query_row(&[ &fpr.to_hex() ], Self::key_load).optional(),
[INFO] [stdout] 746 | |             UnknownDbError,
[INFO] [stdout] 747 | |             "executing query")?;
[INFO] [stdout]     | |______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 | /         wrap_err!(
[INFO] [stdout] 785 | |             merged.as_tsk().serialize(&mut merged_keydata),
[INFO] [stdout] 786 | |             UnknownDbError,
[INFO] [stdout] 787 | |             "Serializing certificate")?;
[INFO] [stdout]     | |______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 815 | /             wrap_err!(
[INFO] [stdout] 816 | |                 stmt.execute(
[INFO] [stdout] 817 | |                     params![fpr.to_hex(), merged.is_tsk(), &merged_keydata]),
[INFO] [stdout] 818 | |                 UnknownDbError,
[INFO] [stdout] 819 | |                 "Executing cert_save_insert_primary")?;
[INFO] [stdout]     | |_____________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 | /                 wrap_err!(
[INFO] [stdout] 831 | |                     stmt.execute(
[INFO] [stdout] 832 | |                         params![ka.key().keyid().to_hex(), fpr.to_hex()]),
[INFO] [stdout] 833 | |                     UnknownDbError,
[INFO] [stdout] 834 | |                     "Executing cert save insert subkeys")?;
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 | /                 wrap_err!(
[INFO] [stdout] 853 | |                     stmt.execute(params![uid, fpr.to_hex()]),
[INFO] [stdout] 854 | |                     UnknownDbError,
[INFO] [stdout] 855 | |                     "Executing cert save insert userids")?;
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 | /         wrap_err!(
[INFO] [stdout] 860 | |             tx.commit(),
[INFO] [stdout] 861 | |             UnknownDbError,
[INFO] [stdout] 862 | |             "committing transaction"
[INFO] [stdout] 863 | |         )?;
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `rusqlite::Error`
[INFO] [stdout]    --> src/store/certd/cache.rs:238:36
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         return Err(err.into());
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 238 -                         return Err(err.into());
[INFO] [stdout] 238 +                         return Err(err);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 238 -                         return Err(err.into());
[INFO] [stdout] 238 +                         return Err(<rusqlite::Error as Into<_>>::into(err));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `rusqlite::Error`
[INFO] [stdout]     --> src/store/certd.rs:1448:17
[INFO] [stdout]      |
[INFO] [stdout] 1448 |             Err(e.into())
[INFO] [stdout]      |                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1448 -             Err(e.into())
[INFO] [stdout] 1448 +             Err(e)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1448 -             Err(e.into())
[INFO] [stdout] 1448 +             Err(<rusqlite::Error as Into<_>>::into(e))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `String`
[INFO] [stdout]    --> src/store/pep.rs:647:61
[INFO] [stdout]     |
[INFO] [stdout] 647 |         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 647 -         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout] 647 +         cert_query!(stmt, [ &email ], StoreError::NoMatches(email))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 647 -         cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout] 647 +         cert_query!(stmt, [ &email ], StoreError::NoMatches(<String as Into<_>>::into(email)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]     --> src/store.rs:1347:25
[INFO] [stdout]      |
[INFO] [stdout] 1347 |                     Err(err.into())
[INFO] [stdout]      |                         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1347 -                     Err(err.into())
[INFO] [stdout] 1347 +                     Err(err)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1347 -                     Err(err.into())
[INFO] [stdout] 1347 +                     Err(<anyhow::Error as Into<_>>::into(err))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 | /             wrap_err!(
[INFO] [stdout] 238 | |                 Connection::open_with_flags(
[INFO] [stdout] 239 | |                     &keys_db,
[INFO] [stdout] 240 | |                     OpenFlags::SQLITE_OPEN_READ_WRITE
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |                 InitCannotOpenDB,
[INFO] [stdout] 244 | |                 format!("Opening keys DB ('{}')", keys_db.display()))?
[INFO] [stdout]     | |_____________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 | /             wrap_err!(
[INFO] [stdout] 248 | |                 Connection::open_in_memory(),
[INFO] [stdout] 249 | |                 InitCannotOpenDB,
[INFO] [stdout] 250 | |                 "Creating in-memory keys DB")?
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | /         wrap_err!(
[INFO] [stdout] 254 | |             conn.execute_batch("PRAGMA secure_delete=true;
[INFO] [stdout] 255 | |                                 PRAGMA foreign_keys=true;
[INFO] [stdout] 256 | |                                 PRAGMA locking_mode=NORMAL;
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |             format!("Setting pragmas on keys DB ('{}')",
[INFO] [stdout] 260 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 | /         wrap_err!(
[INFO] [stdout] 263 | |             conn.busy_timeout(BUSY_WAIT_TIME),
[INFO] [stdout] 264 | |             InitCannotOpenDB,
[INFO] [stdout] 265 | |             format!("Setting busy time ('{}')", keys_db.display()))?;
[INFO] [stdout]     | |___________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 | /         wrap_err!(
[INFO] [stdout] 268 | |             conn.create_collation("EMAIL", Self::email_cmp),
[INFO] [stdout] 269 | |             InitCannotOpenDB,
[INFO] [stdout] 270 | |             format!("Registering EMAIL collation function"))?;
[INFO] [stdout]     | |____________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 | /         wrap_err!(
[INFO] [stdout] 273 | |             conn.execute_batch(
[INFO] [stdout] 274 | |                 "CREATE TABLE IF NOT EXISTS keys (
[INFO] [stdout] 275 | |                     primary_key TEXT UNIQUE PRIMARY KEY,
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | |             format!("Creating keys table ('{}')",
[INFO] [stdout] 283 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 | /         wrap_err!(
[INFO] [stdout] 286 | |             conn.execute_batch(
[INFO] [stdout] 287 | |                 "CREATE TABLE IF NOT EXISTS subkeys (
[INFO] [stdout] 288 | |                    subkey TEXT NOT NULL /* KeyID */,
[INFO] [stdout] ...   |
[INFO] [stdout] 298 | |             format!("Creating subkeys table ('{}')",
[INFO] [stdout] 299 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 | /         wrap_err!(
[INFO] [stdout] 302 | |             conn.execute_batch(
[INFO] [stdout] 303 | |                 "CREATE TABLE IF NOT EXISTS userids (
[INFO] [stdout] 304 | |                     userid TEXT NOT NULL COLLATE EMAIL,
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |             format!("Creating userids table ('{}')",
[INFO] [stdout] 315 | |                     keys_db.display()))?;
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 324 | /     sql_stmt!(cert_find_stmt,
[INFO] [stdout] 325 | |               "SELECT tpk, secret FROM keys WHERE primary_key == ?");
[INFO] [stdout]     | |____________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 329 | /     sql_stmt!(cert_find_by_keyid_stmt,
[INFO] [stdout] 330 | |               "SELECT tpk, secret FROM keys WHERE primary_key like '%' || ?");
[INFO] [stdout]     | |_____________________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 334 | /     sql_stmt!(tsk_find_stmt,
[INFO] [stdout] 335 | |               "SELECT tpk, secret FROM keys
[INFO] [stdout] 336 | |                  WHERE primary_key == ? and secret == 1");
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 342 | /     sql_stmt!(cert_find_with_key_stmt,
[INFO] [stdout] 343 | |               "SELECT tpk, secret FROM subkeys
[INFO] [stdout] 344 | |                 LEFT JOIN keys
[INFO] [stdout] 345 | |                  ON subkeys.primary_key == keys.primary_key
[INFO] [stdout] 346 | |                 WHERE subkey == ?");
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 352 | /     sql_stmt!(tsk_find_with_key_stmt,
[INFO] [stdout] 353 | |               "SELECT tpk, secret FROM subkeys
[INFO] [stdout] 354 | |                 LEFT JOIN keys
[INFO] [stdout] 355 | |                  ON subkeys.primary_key == keys.primary_key
[INFO] [stdout] 356 | |                 WHERE subkey == ? and keys.secret == 1");
[INFO] [stdout]     | |________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 360 | /     sql_stmt!(cert_find_by_email_stmt,
[INFO] [stdout] 361 | |               "SELECT tpk, secret FROM userids
[INFO] [stdout] 362 | |                 LEFT JOIN keys
[INFO] [stdout] 363 | |                  ON userids.primary_key == keys.primary_key
[INFO] [stdout] 364 | |                 WHERE userid == ?");
[INFO] [stdout]     | |___________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 368 | /     sql_stmt!(cert_list_stmt,
[INFO] [stdout] 369 | |               "select primary_key from keys");
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 373 | /     sql_stmt!(cert_all_stmt,
[INFO] [stdout] 374 | |               "select tpk, secret from keys");
[INFO] [stdout]     | |_____________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 378 | /     sql_stmt!(tsk_all_stmt,
[INFO] [stdout] 379 | |               "select tpk, secret from keys where secret = 1");
[INFO] [stdout]     | |______________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 382 | /     sql_stmt!(cert_save_insert_primary_stmt,
[INFO] [stdout] 383 | |               "INSERT OR REPLACE INTO keys (primary_key, secret, tpk)
[INFO] [stdout] 384 | |                 VALUES (?, ?, ?)");
[INFO] [stdout]     | |__________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 387 | /     sql_stmt!(cert_save_insert_subkeys_stmt,
[INFO] [stdout] 388 | |               "INSERT OR REPLACE INTO subkeys (subkey, primary_key)
[INFO] [stdout] 389 | |                 VALUES (?, ?)");
[INFO] [stdout]     | |_______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 392 | /     sql_stmt!(cert_save_insert_userids_stmt,
[INFO] [stdout] 393 | |               "INSERT OR REPLACE INTO userids (userid, primary_key)
[INFO] [stdout] 394 | |                 VALUES (?, ?)");
[INFO] [stdout]     | |_______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `sql_stmt`
[INFO] [stdout] ...
[INFO] [stdout] 401 | /     sql_stmt!(cert_delete_stmt,
[INFO] [stdout] 402 | |               "DELETE FROM keys WHERE primary_key = ?");
[INFO] [stdout]     | |_______________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = cert_query!(stmt, [ fpr.to_hex() ],
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |                             StoreError::NotFound(KeyHandle::from(fpr)))?;
[INFO] [stdout]     | |_______________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = cert_query!(stmt, [ fpr.to_hex() ],
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |                             StoreError::NotFound(KeyHandle::from(fpr)))?;
[INFO] [stdout]     | |_______________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 475 |           cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 475 |           cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 490 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 490 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |           let changes = wrap_err!(
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 512 | |             Self::cert_delete_stmt(&conn)?
[INFO] [stdout] 513 | |                 .execute(params![ fpr.to_hex() ]),
[INFO] [stdout] 514 | |             CannotDeleteKey,
[INFO] [stdout] 515 | |             format!("Deleting {}", fpr))?;
[INFO] [stdout]     | |________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 546 |           cert_query!(stmt, [ kh.to_hex() ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 546 |           cert_query!(stmt, [ kh.to_hex() ], StoreError::NotFound(kh.clone()))
[INFO] [stdout]     |           -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 568 |               = cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))?;
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 568 |               = cert_query!(stmt, [ keyid ], StoreError::NotFound(kh.clone()))?;
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 647 |           cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |           ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 647 |           cert_query!(stmt, [ &email ], StoreError::NoMatches(email.into()))
[INFO] [stdout]     |           ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |               let rows = wrap_err!(
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 666 | |                 stmt.query_map([ ], |row: &Row| {
[INFO] [stdout] 667 | |                     let fpr: String = row.get(0)?;
[INFO] [stdout] 668 | |                     Ok(fpr)
[INFO] [stdout] 669 | |                 }),
[INFO] [stdout] 670 | |                 UnknownDbError,
[INFO] [stdout] 671 | |                 "executing query")?;
[INFO] [stdout]     | |__________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 675 |                 let fpr = wrap_err!(row, UnknownError, "parsing result")?;
[INFO] [stdout]     |                           ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 711 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 | / macro_rules! wrap_err {
[INFO] [stdout]  63 | |     ($e:expr, $err:ident, $msg:expr) => {
[INFO] [stdout]  64 | |         $e.map_err(|err| {
[INFO] [stdout]  65 | |             eprintln!("Error: {}: {}", err, $msg);
[INFO] [stdout]  66 | |             anyhow::Error::from(Error::$err(
[INFO] [stdout]  67 | |                 anyhow::Error::from(err).into(),
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...   |
[INFO] [stdout]  71 | | }
[INFO] [stdout]     | |_- this error originates in the macro `wrap_err` which comes from the expansion of the macro `cert_query`
[INFO] [stdout] ...
[INFO] [stdout] 711 |               cert_query!(stmt, [ ], StoreError::NoMatches("EOF".into()))
[INFO] [stdout]     |               ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |           let tx = wrap_err!(
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 736 | |             conn.transaction(),
[INFO] [stdout] 737 | |             UnknownDbError,
[INFO] [stdout] 738 | |             "starting transaction"
[INFO] [stdout] 739 | |         )?;
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 743 |           let r = wrap_err!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 744 | |             Self::cert_find_stmt(&tx)?
[INFO] [stdout] 745 | |                 .query_row(&[ &fpr.to_hex() ], Self::key_load).optional(),
[INFO] [stdout] 746 | |             UnknownDbError,
[INFO] [stdout] 747 | |             "executing query")?;
[INFO] [stdout]     | |______________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 | /         wrap_err!(
[INFO] [stdout] 785 | |             merged.as_tsk().serialize(&mut merged_keydata),
[INFO] [stdout] 786 | |             UnknownDbError,
[INFO] [stdout] 787 | |             "Serializing certificate")?;
[INFO] [stdout]     | |______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 815 | /             wrap_err!(
[INFO] [stdout] 816 | |                 stmt.execute(
[INFO] [stdout] 817 | |                     params![fpr.to_hex(), merged.is_tsk(), &merged_keydata]),
[INFO] [stdout] 818 | |                 UnknownDbError,
[INFO] [stdout] 819 | |                 "Executing cert_save_insert_primary")?;
[INFO] [stdout]     | |_____________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 | /                 wrap_err!(
[INFO] [stdout] 831 | |                     stmt.execute(
[INFO] [stdout] 832 | |                         params![ka.key().keyid().to_hex(), fpr.to_hex()]),
[INFO] [stdout] 833 | |                     UnknownDbError,
[INFO] [stdout] 834 | |                     "Executing cert save insert subkeys")?;
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 | /                 wrap_err!(
[INFO] [stdout] 853 | |                     stmt.execute(params![uid, fpr.to_hex()]),
[INFO] [stdout] 854 | |                     UnknownDbError,
[INFO] [stdout] 855 | |                     "Executing cert save insert userids")?;
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]    --> src/store/pep.rs:67:17
[INFO] [stdout]     |
[INFO] [stdout]  62 |   macro_rules! wrap_err {
[INFO] [stdout] ...
[INFO] [stdout]  67 |                   anyhow::Error::from(err).into(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 | /         wrap_err!(
[INFO] [stdout] 860 | |             tx.commit(),
[INFO] [stdout] 861 | |             UnknownDbError,
[INFO] [stdout] 862 | |             "committing transaction"
[INFO] [stdout] 863 | |         )?;
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<anyhow::Error as Into<anyhow::Error>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sequoia-cert-store` (lib test) due to 49 previous errors; 1 warning emitted
[INFO] [stderr] warning: unused dependency `rayon`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.rayon]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rayon`
[INFO] [stderr] warning: `sequoia-cert-store` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f", kill_on_drop: false }`
[INFO] [stdout] 4625e02b1179af6ebf7a35791be3d41e1f0ab2b28c59b5d1b15aa3164cc8829f
