[INFO] cloning repository https://github.com/Katya-AI-Systems-LLC/BittensorDrand
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Katya-AI-Systems-LLC/BittensorDrand" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKatya-AI-Systems-LLC%2FBittensorDrand", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKatya-AI-Systems-LLC%2FBittensorDrand'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] afd7413c555fa656aa30958394b1d34bcdf150e1
[INFO] checking Katya-AI-Systems-LLC/BittensorDrand against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKatya-AI-Systems-LLC%2FBittensorDrand" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Katya-AI-Systems-LLC/BittensorDrand
[INFO] finished tweaking git repo https://github.com/Katya-AI-Systems-LLC/BittensorDrand
[INFO] tweaked toml for git repo https://github.com/Katya-AI-Systems-LLC/BittensorDrand written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Katya-AI-Systems-LLC/BittensorDrand 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/Katya-AI-Systems-LLC/BittensorDrand already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d
[INFO] running `Command { std: "docker" "start" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d", 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" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d", 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" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling python3-dll-a v0.2.14
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking cpufeatures v0.2.16
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]    Compiling pyo3-build-config v0.26.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]     Checking rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]    Compiling pyo3-ffi v0.26.0
[INFO] [stderr]    Compiling pyo3-macros-backend v0.26.0
[INFO] [stderr]    Compiling parity-scale-codec v3.7.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking byte-slice-cast v1.2.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]    Compiling pyo3 v0.26.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking constcat v0.3.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]     Checking unindent v0.2.3
[INFO] [stderr]     Checking array-bytes v6.2.3
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]     Checking rustls-webpki v0.103.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.0
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling pyo3-macros v0.26.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking hyper-util v0.1.11
[INFO] [stderr]     Checking scale-info v2.11.6
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]     Checking reqwest v0.12.15
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking ark-bls12-381 v0.4.0
[INFO] [stderr]     Checking ark-bls12-377 v0.4.0
[INFO] [stderr]     Checking w3f-bls v0.1.3
[INFO] [stderr]     Checking tle v0.1.0 (https://github.com/ideal-lab5/timelock?rev=5416406cfd32799e31e1795393d4916894de4468#5416406c)
[INFO] [stderr]     Checking bittensor-drand v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]   --> src/python_bindings.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]   --> src/python_bindings.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn get_latest_round_py() -> PyResult<u64> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:129:6
[INFO] [stdout]     |
[INFO] [stdout] 129 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:173:6
[INFO] [stdout]     |
[INFO] [stdout] 173 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:203:67
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn decrypt(py: Python, encrypted_data: &[u8], no_errors: bool) -> PyResult<Option<Py<PyBytes>>> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:257:6
[INFO] [stdout]     |
[INFO] [stdout] 257 | ) -> PyResult<Py<PyBytes>> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:278:50
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn get_signature_for_round(reveal_round: u64) -> 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] error: could not compile `bittensor-drand` (lib) due to 8 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:488:19
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:515:19
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:549:19
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             unsafe { cr_free(buf) };
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:582:22
[INFO] [stdout]     |
[INFO] [stdout] 582 |         let ct_buf = unsafe {
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:599:9
[INFO] [stdout]     |
[INFO] [stdout] 599 |         unsafe { cr_free(ct_buf) };
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:604:25
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let plain_ptr = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let plain_ptr = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:673:25
[INFO] [stdout]     |
[INFO] [stdout] 673 |         let plain_ptr = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:699:25
[INFO] [stdout]     |
[INFO] [stdout] 699 |         let plain_ptr = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:722:21
[INFO] [stdout]     |
[INFO] [stdout] 722 |         let round = unsafe { cr_get_latest_round(&mut err_ptr) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:743:19
[INFO] [stdout]     |
[INFO] [stdout] 743 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 |         unsafe { cr_free(buf) };
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:771:19
[INFO] [stdout]     |
[INFO] [stdout] 771 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:802:19
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 825 |         unsafe { cr_free(buf) };
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:838:19
[INFO] [stdout]     |
[INFO] [stdout] 838 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:873:19
[INFO] [stdout]     |
[INFO] [stdout] 873 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:912:9
[INFO] [stdout]     |
[INFO] [stdout] 912 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:930:19
[INFO] [stdout]     |
[INFO] [stdout] 930 |         let buf = unsafe { cr_encrypt(data.as_ptr(), data.len(), 0, 1.0, &mut round, &mut err) };
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:933:9
[INFO] [stdout]     |
[INFO] [stdout] 933 |         unsafe { cr_free(buf) };
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:938:13
[INFO] [stdout]     |
[INFO] [stdout] 938 |             unsafe { cr_decrypt(ct.as_ptr(), ct.len(), false, &mut out_len, &mut derr) };
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:958:31
[INFO] [stdout]     |
[INFO] [stdout] 958 |                     let buf = unsafe {
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:963:21
[INFO] [stdout]     |
[INFO] [stdout] 963 |                     unsafe { cr_free(buf) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:967:37
[INFO] [stdout]     |
[INFO] [stdout] 967 |                     let plain_ptr = unsafe {
[INFO] [stdout]     |                                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ffi.rs:993:19
[INFO] [stdout]     |
[INFO] [stdout] 993 |         let buf = unsafe {
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ffi.rs:1008:9
[INFO] [stdout]      |
[INFO] [stdout] 1008 |         unsafe { cr_free(buf) };
[INFO] [stdout]      |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ffi.rs:1013:25
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         let plain_ptr = unsafe {
[INFO] [stdout]      |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]   --> src/python_bindings.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]   --> src/python_bindings.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:100:29
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn get_latest_round_py() -> PyResult<u64> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:129:6
[INFO] [stdout]     |
[INFO] [stdout] 129 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:173:6
[INFO] [stdout]     |
[INFO] [stdout] 173 | ) -> PyResult<(Py<PyBytes>, u64)> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:203:67
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn decrypt(py: Python, encrypted_data: &[u8], no_errors: bool) -> PyResult<Option<Py<PyBytes>>> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:257:6
[INFO] [stdout]     |
[INFO] [stdout] 257 | ) -> PyResult<Py<PyBytes>> {
[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: `PyErr`
[INFO] [stdout]    --> src/python_bindings.rs:278:50
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn get_signature_for_round(reveal_round: u64) -> 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] error: could not compile `bittensor-drand` (lib test) due to 8 previous errors; 29 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d", kill_on_drop: false }`
[INFO] [stdout] 11d204ecb6d2a29456cc84e121a8d525145266a04158773a2baf420bec8db33d
