[INFO] cloning repository https://github.com/deyanovich/oboron-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/deyanovich/oboron-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeyanovich%2Foboron-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeyanovich%2Foboron-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8b776adc4fb508204ebf915c982b1ea6ed45917c
[INFO] checking deyanovich/oboron-rs against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeyanovich%2Foboron-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/deyanovich/oboron-rs
[INFO] finished tweaking git repo https://github.com/deyanovich/oboron-rs
[INFO] tweaked toml for git repo https://github.com/deyanovich/oboron-rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/deyanovich/oboron-rs 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 git repo https://github.com/deyanovich/oboron-rs 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c
[INFO] running `Command { std: "docker" "start" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c", 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" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c", 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" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]    Compiling pyo3-build-config v0.28.3
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.105
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]    Compiling wasm-bindgen v0.2.105
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking dbl v0.3.2
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]    Compiling pyo3-macros-backend v0.28.3
[INFO] [stderr]    Compiling pyo3-ffi v0.28.3
[INFO] [stderr]    Compiling pyo3 v0.28.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking cmac v0.7.2
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.105
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.55
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking aes-siv v0.7.0
[INFO] [stderr]     Checking aes-gcm-siv v0.11.1
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.105
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking js-sys v0.3.82
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking obcrypt v1.0.0
[INFO] [stderr]    Compiling pyo3-macros v0.28.3
[INFO] [stderr]     Checking oboron v1.0.1 (/opt/rustwide/workdir/oboron)
[INFO] [stderr]     Checking oboron-wasm v1.0.0 (/opt/rustwide/workdir/oboron-wasm)
[INFO] [stderr]     Checking oboron-ffi v1.0.0 (/opt/rustwide/workdir/oboron-ffi)
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.55
[INFO] [stderr]     Checking wasm-bindgen-test v0.3.55
[INFO] [stderr]     Checking oboron-py v1.0.2 (/opt/rustwide/workdir/oboron-py)
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:377:39
[INFO] [stdout]     |
[INFO] [stdout] 377 |     fn enc(&self, plaintext: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:381:36
[INFO] [stdout]     |
[INFO] [stdout] 381 |     fn dec(&self, obtext: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn set_format(&mut self, format: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:421:47
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_scheme(&mut self, scheme: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:427:51
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn set_encoding(&mut self, encoding: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:476:53
[INFO] [stdout]     |
[INFO] [stdout] 476 |     fn enc(&self, plaintext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:480:50
[INFO] [stdout]     |
[INFO] [stdout] 480 |     fn dec(&self, obtext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:526:53
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn enc(plaintext: &str, format: &str, key: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:534:50
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn enc_keyless(plaintext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:540:50
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn dec(obtext: &str, format: &str, key: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:547:47
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn dec_keyless(obtext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 | / impl_codec_class!(
[INFO] [stdout] 176 | |     DgcmsivB32,
[INFO] [stdout] 177 | |     ::oboron::DgcmsivB32,
[INFO] [stdout] 178 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 179 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 | / impl_codec_class!(
[INFO] [stdout] 176 | |     DgcmsivB32,
[INFO] [stdout] 177 | |     ::oboron::DgcmsivB32,
[INFO] [stdout] 178 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 179 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | / impl_codec_class!(
[INFO] [stdout] 182 | |     DgcmsivB64,
[INFO] [stdout] 183 | |     ::oboron::DgcmsivB64,
[INFO] [stdout] 184 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 185 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | / impl_codec_class!(
[INFO] [stdout] 182 | |     DgcmsivB64,
[INFO] [stdout] 183 | |     ::oboron::DgcmsivB64,
[INFO] [stdout] 184 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 185 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 | / impl_codec_class!(
[INFO] [stdout] 188 | |     DgcmsivC32,
[INFO] [stdout] 189 | |     ::oboron::DgcmsivC32,
[INFO] [stdout] 190 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 191 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 | / impl_codec_class!(
[INFO] [stdout] 188 | |     DgcmsivC32,
[INFO] [stdout] 189 | |     ::oboron::DgcmsivC32,
[INFO] [stdout] 190 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 191 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | / impl_codec_class!(
[INFO] [stdout] 194 | |     DgcmsivHex,
[INFO] [stdout] 195 | |     ::oboron::DgcmsivHex,
[INFO] [stdout] 196 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 197 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | / impl_codec_class!(
[INFO] [stdout] 194 | |     DgcmsivHex,
[INFO] [stdout] 195 | |     ::oboron::DgcmsivHex,
[INFO] [stdout] 196 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 197 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_codec_class!(
[INFO] [stdout] 202 | |     DsivB32,
[INFO] [stdout] 203 | |     ::oboron::DsivB32,
[INFO] [stdout] 204 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B32 encoding"
[INFO] [stdout] 205 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_codec_class!(
[INFO] [stdout] 202 | |     DsivB32,
[INFO] [stdout] 203 | |     ::oboron::DsivB32,
[INFO] [stdout] 204 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B32 encoding"
[INFO] [stdout] 205 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_codec_class!(
[INFO] [stdout] 208 | |     DsivB64,
[INFO] [stdout] 209 | |     ::oboron::DsivB64,
[INFO] [stdout] 210 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B64 encoding"
[INFO] [stdout] 211 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_codec_class!(
[INFO] [stdout] 208 | |     DsivB64,
[INFO] [stdout] 209 | |     ::oboron::DsivB64,
[INFO] [stdout] 210 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B64 encoding"
[INFO] [stdout] 211 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_codec_class!(
[INFO] [stdout] 214 | |     DsivC32,
[INFO] [stdout] 215 | |     ::oboron::DsivC32,
[INFO] [stdout] 216 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with C32 encoding"
[INFO] [stdout] 217 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_codec_class!(
[INFO] [stdout] 214 | |     DsivC32,
[INFO] [stdout] 215 | |     ::oboron::DsivC32,
[INFO] [stdout] 216 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with C32 encoding"
[INFO] [stdout] 217 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 | / impl_codec_class!(
[INFO] [stdout] 220 | |     DsivHex,
[INFO] [stdout] 221 | |     ::oboron::DsivHex,
[INFO] [stdout] 222 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with Hex encoding"
[INFO] [stdout] 223 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 | / impl_codec_class!(
[INFO] [stdout] 220 | |     DsivHex,
[INFO] [stdout] 221 | |     ::oboron::DsivHex,
[INFO] [stdout] 222 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with Hex encoding"
[INFO] [stdout] 223 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 | / impl_codec_class!(
[INFO] [stdout] 228 | |     PgcmsivB32,
[INFO] [stdout] 229 | |     ::oboron::PgcmsivB32,
[INFO] [stdout] 230 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 231 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 | / impl_codec_class!(
[INFO] [stdout] 228 | |     PgcmsivB32,
[INFO] [stdout] 229 | |     ::oboron::PgcmsivB32,
[INFO] [stdout] 230 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 231 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / impl_codec_class!(
[INFO] [stdout] 234 | |     PgcmsivB64,
[INFO] [stdout] 235 | |     ::oboron::PgcmsivB64,
[INFO] [stdout] 236 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 237 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / impl_codec_class!(
[INFO] [stdout] 234 | |     PgcmsivB64,
[INFO] [stdout] 235 | |     ::oboron::PgcmsivB64,
[INFO] [stdout] 236 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 237 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 | / impl_codec_class!(
[INFO] [stdout] 240 | |     PgcmsivC32,
[INFO] [stdout] 241 | |     ::oboron::PgcmsivC32,
[INFO] [stdout] 242 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 243 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 | / impl_codec_class!(
[INFO] [stdout] 240 | |     PgcmsivC32,
[INFO] [stdout] 241 | |     ::oboron::PgcmsivC32,
[INFO] [stdout] 242 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 243 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 | / impl_codec_class!(
[INFO] [stdout] 246 | |     PgcmsivHex,
[INFO] [stdout] 247 | |     ::oboron::PgcmsivHex,
[INFO] [stdout] 248 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 249 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 | / impl_codec_class!(
[INFO] [stdout] 246 | |     PgcmsivHex,
[INFO] [stdout] 247 | |     ::oboron::PgcmsivHex,
[INFO] [stdout] 248 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 249 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / impl_codec_class!(
[INFO] [stdout] 254 | |     PsivB32,
[INFO] [stdout] 255 | |     ::oboron::PsivB32,
[INFO] [stdout] 256 | |     "Psiv codec (probabilistic AES-SIV) with B32 encoding"
[INFO] [stdout] 257 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / impl_codec_class!(
[INFO] [stdout] 254 | |     PsivB32,
[INFO] [stdout] 255 | |     ::oboron::PsivB32,
[INFO] [stdout] 256 | |     "Psiv codec (probabilistic AES-SIV) with B32 encoding"
[INFO] [stdout] 257 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 | / impl_codec_class!(
[INFO] [stdout] 260 | |     PsivB64,
[INFO] [stdout] 261 | |     ::oboron::PsivB64,
[INFO] [stdout] 262 | |     "Psiv codec (probabilistic AES-SIV) with B64 encoding"
[INFO] [stdout] 263 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 | / impl_codec_class!(
[INFO] [stdout] 260 | |     PsivB64,
[INFO] [stdout] 261 | |     ::oboron::PsivB64,
[INFO] [stdout] 262 | |     "Psiv codec (probabilistic AES-SIV) with B64 encoding"
[INFO] [stdout] 263 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 | / impl_codec_class!(
[INFO] [stdout] 266 | |     PsivC32,
[INFO] [stdout] 267 | |     ::oboron::PsivC32,
[INFO] [stdout] 268 | |     "Psiv codec (probabilistic AES-SIV) with C32 encoding"
[INFO] [stdout] 269 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 | / impl_codec_class!(
[INFO] [stdout] 266 | |     PsivC32,
[INFO] [stdout] 267 | |     ::oboron::PsivC32,
[INFO] [stdout] 268 | |     "Psiv codec (probabilistic AES-SIV) with C32 encoding"
[INFO] [stdout] 269 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | / impl_codec_class!(
[INFO] [stdout] 272 | |     PsivHex,
[INFO] [stdout] 273 | |     ::oboron::PsivHex,
[INFO] [stdout] 274 | |     "Psiv codec (probabilistic AES-SIV) with Hex encoding"
[INFO] [stdout] 275 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | / impl_codec_class!(
[INFO] [stdout] 272 | |     PsivHex,
[INFO] [stdout] 273 | |     ::oboron::PsivHex,
[INFO] [stdout] 274 | |     "Psiv codec (probabilistic AES-SIV) with Hex encoding"
[INFO] [stdout] 275 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:377:39
[INFO] [stdout]     |
[INFO] [stdout] 377 |     fn enc(&self, plaintext: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oboron-py` (lib) due to 43 previous errors
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:381:36
[INFO] [stdout]     |
[INFO] [stdout] 381 |     fn dec(&self, obtext: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn set_format(&mut self, format: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:421:47
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_scheme(&mut self, scheme: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:427:51
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn set_encoding(&mut self, encoding: &str) -> PyResult<()> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:476:53
[INFO] [stdout]     |
[INFO] [stdout] 476 |     fn enc(&self, plaintext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:480:50
[INFO] [stdout]     |
[INFO] [stdout] 480 |     fn dec(&self, obtext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:526:53
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn enc(plaintext: &str, format: &str, key: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:534:50
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn enc_keyless(plaintext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:540:50
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn dec(obtext: &str, format: &str, key: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:547:47
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn dec_keyless(obtext: &str, format: &str) -> PyResult<String> {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 | / impl_codec_class!(
[INFO] [stdout] 176 | |     DgcmsivB32,
[INFO] [stdout] 177 | |     ::oboron::DgcmsivB32,
[INFO] [stdout] 178 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 179 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 | / impl_codec_class!(
[INFO] [stdout] 176 | |     DgcmsivB32,
[INFO] [stdout] 177 | |     ::oboron::DgcmsivB32,
[INFO] [stdout] 178 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 179 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | / impl_codec_class!(
[INFO] [stdout] 182 | |     DgcmsivB64,
[INFO] [stdout] 183 | |     ::oboron::DgcmsivB64,
[INFO] [stdout] 184 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 185 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 | / impl_codec_class!(
[INFO] [stdout] 182 | |     DgcmsivB64,
[INFO] [stdout] 183 | |     ::oboron::DgcmsivB64,
[INFO] [stdout] 184 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 185 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 | / impl_codec_class!(
[INFO] [stdout] 188 | |     DgcmsivC32,
[INFO] [stdout] 189 | |     ::oboron::DgcmsivC32,
[INFO] [stdout] 190 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 191 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 | / impl_codec_class!(
[INFO] [stdout] 188 | |     DgcmsivC32,
[INFO] [stdout] 189 | |     ::oboron::DgcmsivC32,
[INFO] [stdout] 190 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 191 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | / impl_codec_class!(
[INFO] [stdout] 194 | |     DgcmsivHex,
[INFO] [stdout] 195 | |     ::oboron::DgcmsivHex,
[INFO] [stdout] 196 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 197 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 | / impl_codec_class!(
[INFO] [stdout] 194 | |     DgcmsivHex,
[INFO] [stdout] 195 | |     ::oboron::DgcmsivHex,
[INFO] [stdout] 196 | |     "Dgcmsiv codec (deterministic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 197 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_codec_class!(
[INFO] [stdout] 202 | |     DsivB32,
[INFO] [stdout] 203 | |     ::oboron::DsivB32,
[INFO] [stdout] 204 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B32 encoding"
[INFO] [stdout] 205 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 | / impl_codec_class!(
[INFO] [stdout] 202 | |     DsivB32,
[INFO] [stdout] 203 | |     ::oboron::DsivB32,
[INFO] [stdout] 204 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B32 encoding"
[INFO] [stdout] 205 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_codec_class!(
[INFO] [stdout] 208 | |     DsivB64,
[INFO] [stdout] 209 | |     ::oboron::DsivB64,
[INFO] [stdout] 210 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B64 encoding"
[INFO] [stdout] 211 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | / impl_codec_class!(
[INFO] [stdout] 208 | |     DsivB64,
[INFO] [stdout] 209 | |     ::oboron::DsivB64,
[INFO] [stdout] 210 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with B64 encoding"
[INFO] [stdout] 211 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_codec_class!(
[INFO] [stdout] 214 | |     DsivC32,
[INFO] [stdout] 215 | |     ::oboron::DsivC32,
[INFO] [stdout] 216 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with C32 encoding"
[INFO] [stdout] 217 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | / impl_codec_class!(
[INFO] [stdout] 214 | |     DsivC32,
[INFO] [stdout] 215 | |     ::oboron::DsivC32,
[INFO] [stdout] 216 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with C32 encoding"
[INFO] [stdout] 217 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 | / impl_codec_class!(
[INFO] [stdout] 220 | |     DsivHex,
[INFO] [stdout] 221 | |     ::oboron::DsivHex,
[INFO] [stdout] 222 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with Hex encoding"
[INFO] [stdout] 223 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 | / impl_codec_class!(
[INFO] [stdout] 220 | |     DsivHex,
[INFO] [stdout] 221 | |     ::oboron::DsivHex,
[INFO] [stdout] 222 | |     "Dsiv codec (deterministic AES-SIV, nonce-misuse resistant) with Hex encoding"
[INFO] [stdout] 223 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 | / impl_codec_class!(
[INFO] [stdout] 228 | |     PgcmsivB32,
[INFO] [stdout] 229 | |     ::oboron::PgcmsivB32,
[INFO] [stdout] 230 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 231 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 | / impl_codec_class!(
[INFO] [stdout] 228 | |     PgcmsivB32,
[INFO] [stdout] 229 | |     ::oboron::PgcmsivB32,
[INFO] [stdout] 230 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B32 encoding"
[INFO] [stdout] 231 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / impl_codec_class!(
[INFO] [stdout] 234 | |     PgcmsivB64,
[INFO] [stdout] 235 | |     ::oboron::PgcmsivB64,
[INFO] [stdout] 236 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 237 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 | / impl_codec_class!(
[INFO] [stdout] 234 | |     PgcmsivB64,
[INFO] [stdout] 235 | |     ::oboron::PgcmsivB64,
[INFO] [stdout] 236 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with B64 encoding"
[INFO] [stdout] 237 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 | / impl_codec_class!(
[INFO] [stdout] 240 | |     PgcmsivC32,
[INFO] [stdout] 241 | |     ::oboron::PgcmsivC32,
[INFO] [stdout] 242 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 243 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 | / impl_codec_class!(
[INFO] [stdout] 240 | |     PgcmsivC32,
[INFO] [stdout] 241 | |     ::oboron::PgcmsivC32,
[INFO] [stdout] 242 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with C32 encoding"
[INFO] [stdout] 243 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 | / impl_codec_class!(
[INFO] [stdout] 246 | |     PgcmsivHex,
[INFO] [stdout] 247 | |     ::oboron::PgcmsivHex,
[INFO] [stdout] 248 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 249 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 | / impl_codec_class!(
[INFO] [stdout] 246 | |     PgcmsivHex,
[INFO] [stdout] 247 | |     ::oboron::PgcmsivHex,
[INFO] [stdout] 248 | |     "Pgcmsiv codec (probabilistic AES-GCM-SIV) with Hex encoding"
[INFO] [stdout] 249 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / impl_codec_class!(
[INFO] [stdout] 254 | |     PsivB32,
[INFO] [stdout] 255 | |     ::oboron::PsivB32,
[INFO] [stdout] 256 | |     "Psiv codec (probabilistic AES-SIV) with B32 encoding"
[INFO] [stdout] 257 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 | / impl_codec_class!(
[INFO] [stdout] 254 | |     PsivB32,
[INFO] [stdout] 255 | |     ::oboron::PsivB32,
[INFO] [stdout] 256 | |     "Psiv codec (probabilistic AES-SIV) with B32 encoding"
[INFO] [stdout] 257 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 | / impl_codec_class!(
[INFO] [stdout] 260 | |     PsivB64,
[INFO] [stdout] 261 | |     ::oboron::PsivB64,
[INFO] [stdout] 262 | |     "Psiv codec (probabilistic AES-SIV) with B64 encoding"
[INFO] [stdout] 263 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 | / impl_codec_class!(
[INFO] [stdout] 260 | |     PsivB64,
[INFO] [stdout] 261 | |     ::oboron::PsivB64,
[INFO] [stdout] 262 | |     "Psiv codec (probabilistic AES-SIV) with B64 encoding"
[INFO] [stdout] 263 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 | / impl_codec_class!(
[INFO] [stdout] 266 | |     PsivC32,
[INFO] [stdout] 267 | |     ::oboron::PsivC32,
[INFO] [stdout] 268 | |     "Psiv codec (probabilistic AES-SIV) with C32 encoding"
[INFO] [stdout] 269 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 | / impl_codec_class!(
[INFO] [stdout] 266 | |     PsivC32,
[INFO] [stdout] 267 | |     ::oboron::PsivC32,
[INFO] [stdout] 268 | |     "Psiv codec (probabilistic AES-SIV) with C32 encoding"
[INFO] [stdout] 269 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 118 |               fn enc(&self, plaintext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | / impl_codec_class!(
[INFO] [stdout] 272 | |     PsivHex,
[INFO] [stdout] 273 | |     ::oboron::PsivHex,
[INFO] [stdout] 274 | |     "Psiv codec (probabilistic AES-SIV) with Hex encoding"
[INFO] [stdout] 275 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `pyo3::PyErr`
[INFO] [stdout]    --> oboron-py/src/lib.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout]  66 |   macro_rules! impl_codec_class {
[INFO] [stdout] ...
[INFO] [stdout] 123 |               fn dec(&self, obtext: &str) -> PyResult<String> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | / impl_codec_class!(
[INFO] [stdout] 272 | |     PsivHex,
[INFO] [stdout] 273 | |     ::oboron::PsivHex,
[INFO] [stdout] 274 | |     "Psiv codec (probabilistic AES-SIV) with Hex encoding"
[INFO] [stdout] 275 | | );
[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 `<pyo3::PyErr as Into<pyo3::PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oboron-py` (lib test) due to 43 previous errors
[INFO] running `Command { std: "docker" "inspect" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c", kill_on_drop: false }`
[INFO] [stdout] 8069faba01ec201177df510ef29f022bed87e60bf8684b68f7a4639ae0bf192c
