[INFO] cloning repository https://github.com/BearGuy/saito [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BearGuy/saito" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8a6c6a07f56febff68aba9698ee92de00d07352a [INFO] checking BearGuy/saito/8a6c6a07f56febff68aba9698ee92de00d07352a against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BearGuy/saito on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/BearGuy/saito [INFO] finished tweaking git repo https://github.com/BearGuy/saito [INFO] tweaked toml for git repo https://github.com/BearGuy/saito written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/BearGuy/saito 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" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_bytes v0.11.1 [INFO] [stderr] Downloaded merkle v1.10.0 [INFO] [stderr] Downloaded criterion-plot v0.3.1 [INFO] [stderr] Downloaded bincode v1.1.4 [INFO] [stderr] Downloaded cast v0.2.2 [INFO] [stderr] Downloaded csv-core v0.1.6 [INFO] [stderr] Downloaded criterion v0.2.11 [INFO] [stderr] Downloaded regex-automata v0.1.8 [INFO] [stderr] Downloaded cc v1.0.26 [INFO] [stderr] Downloaded serde_derive v1.0.97 [INFO] [stderr] Downloaded secp256k1 v0.12.2 [INFO] [stderr] Downloaded tinytemplate v1.0.2 [INFO] [stderr] Downloaded rand_xoshiro v0.1.0 [INFO] [stderr] Downloaded bstr v0.2.4 [INFO] [stderr] Downloaded csv v1.1.1 [INFO] [stderr] Downloaded ring v0.13.5 [INFO] [stderr] Downloaded serde v1.0.93 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eeb6d95f8c00c26a4cda2f449ff2f0a04db917e873a544af3ecf5b42ba532272 [INFO] running `Command { std: "docker" "start" "-a" "eeb6d95f8c00c26a4cda2f449ff2f0a04db917e873a544af3ecf5b42ba532272", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eeb6d95f8c00c26a4cda2f449ff2f0a04db917e873a544af3ecf5b42ba532272", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eeb6d95f8c00c26a4cda2f449ff2f0a04db917e873a544af3ecf5b42ba532272", kill_on_drop: false }` [INFO] [stdout] eeb6d95f8c00c26a4cda2f449ff2f0a04db917e873a544af3ecf5b42ba532272 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3fd34bb832251f8afc431898c11c7c555e935d8c6fd753653444051f22e3c230 [INFO] running `Command { std: "docker" "start" "-a" "3fd34bb832251f8afc431898c11c7c555e935d8c6fd753653444051f22e3c230", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v0.15.40 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling cc v1.0.26 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking block-padding v0.1.4 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Checking untrusted v0.6.2 [INFO] [stderr] Compiling merkle v1.10.0 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking opaque-debug v0.2.2 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking base58 v0.1.0 [INFO] [stderr] Checking same-file v1.0.5 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling secp256k1 v0.12.2 [INFO] [stderr] Checking regex-automata v0.1.8 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking csv-core v0.1.6 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking generic-array v0.12.0 [INFO] [stderr] Checking digest v0.8.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking rayon v1.1.0 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.97 [INFO] [stderr] Checking serde_bytes v0.11.1 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking bstr v0.2.4 [INFO] [stderr] Checking saito-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking csv v1.1.1 [INFO] [stdout] warning: unused variable: `golden_tx_solution` [INFO] [stdout] --> src/lib.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let golden_tx_solution = self.calculate_solution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx_solution` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vote` [INFO] [stdout] --> src/lib.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_solution` [INFO] [stdout] --> src/lib.rs:234:27 [INFO] [stdout] | [INFO] [stdout] 234 | fn find_winner(&self, random_solution: &[u8], previous_block: &Block) -> PublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | let mut winning_tx = self.find_winning_transaction(previous_block); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/lib.rs:1137:10 [INFO] [stdout] | [INFO] [stdout] 1137 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lib.rs:1140:10 [INFO] [stdout] | [INFO] [stdout] 1140 | for x in 0..10 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/lib.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | for block in blocks.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/lib.rs:1155:17 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1174:17 [INFO] [stdout] | [INFO] [stdout] 1174 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blocks` is never read [INFO] [stdout] --> src/lib.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct Mempool { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 283 | blocks: RefCell>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mempool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `vote`, `random`, and `publickey` are never read [INFO] [stdout] --> src/lib.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 313 | struct GoldenTicket { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 314 | target: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 315 | vote: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 316 | random: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 317 | publickey: PublicKey [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GoldenTicket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `calculate_difficulty` and `calculate_paysplit` are never used [INFO] [stdout] --> src/lib.rs:321:8 [INFO] [stdout] | [INFO] [stdout] 320 | impl GoldenTicket { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 321 | fn calculate_difficulty (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn calculate_paysplit (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate_to_amount` is never used [INFO] [stdout] --> src/lib.rs:436:8 [INFO] [stdout] | [INFO] [stdout] 366 | impl Transaction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 436 | fn calculate_to_amount(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `genesis_ts` is never read [INFO] [stdout] --> src/lib.rs:908:5 [INFO] [stdout] | [INFO] [stdout] 907 | pub struct Blockchain { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 908 | genesis_ts: u128, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Blockchain` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block` is never used [INFO] [stdout] --> src/lib.rs:1136:4 [INFO] [stdout] | [INFO] [stdout] 1136 | fn create_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_blocks` is never used [INFO] [stdout] --> src/lib.rs:1149:4 [INFO] [stdout] | [INFO] [stdout] 1149 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_blocks` is never used [INFO] [stdout] --> src/lib.rs:1164:4 [INFO] [stdout] | [INFO] [stdout] 1164 | fn read_blocks() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_and_deserialize` is never used [INFO] [stdout] --> src/lib.rs:1183:4 [INFO] [stdout] | [INFO] [stdout] 1183 | fn serialize_and_deserialize(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:343:10 [INFO] [stdout] | [INFO] [stdout] 343 | #[derive(Serialize, Deserialize, PartialEq, Debug, Copy, Clone)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TransactionType` [INFO] [stdout] 344 | pub enum TransactionType { [INFO] [stdout] | --------------- `TransactionType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:343:21 [INFO] [stdout] | [INFO] [stdout] 343 | #[derive(Serialize, Deserialize, PartialEq, Debug, Copy, Clone)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TransactionType` [INFO] [stdout] 344 | pub enum TransactionType { [INFO] [stdout] | --------------- `TransactionType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction` [INFO] [stdout] 354 | pub struct Transaction { [INFO] [stdout] | ----------- `Transaction` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:353:21 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction` [INFO] [stdout] 354 | pub struct Transaction { [INFO] [stdout] | ----------- `Transaction` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:519:10 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Slip` [INFO] [stdout] 520 | pub struct Slip { [INFO] [stdout] | ---- `Slip` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Slip` [INFO] [stdout] 520 | pub struct Slip { [INFO] [stdout] | ---- `Slip` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:685:10 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block` [INFO] [stdout] 686 | pub struct Block { [INFO] [stdout] | ----- `Block` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block` [INFO] [stdout] 686 | pub struct Block { [INFO] [stdout] | ----- `Block` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:879:9 [INFO] [stdout] | [INFO] [stdout] 879 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 879 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:1003:9 [INFO] [stdout] | [INFO] [stdout] 1003 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1003 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:1187:5 [INFO] [stdout] | [INFO] [stdout] 1187 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1187 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `create_merkle_root` [INFO] [stdout] --> src/main.rs:1:65 [INFO] [stdout] | [INFO] [stdout] 1 | use saito::{Mempool, Blockchain, BurnFee, Wallet, Miner, Block, create_merkle_root}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut mempool = Mempool::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tinytemplate v1.0.2 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> benches/saito_benchmark.rs:6:41 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `deserialize_from` and `serialize_into` [INFO] [stdout] --> benches/saito_benchmark.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use bincode::{serialize_into, deserialize_from}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader` and `BufWriter` [INFO] [stdout] --> benches/saito_benchmark.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::{BufWriter, BufReader, Read}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> benches/saito_benchmark.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> benches/saito_benchmark.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Receiver` [INFO] [stdout] --> benches/saito_benchmark.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::mpsc::{Sender, Receiver}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `create_merkle_root` [INFO] [stdout] --> src/main.rs:1:65 [INFO] [stdout] | [INFO] [stdout] 1 | use saito::{Mempool, Blockchain, BurnFee, Wallet, Miner, Block, create_merkle_root}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut mempool = Mempool::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | for x in 0..100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:61:60 [INFO] [stdout] | [INFO] [stdout] 61 | (0..1000000).into_par_iter().for_each_with(sender, |s, x| create_transaction_multi(s.clone())); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | |rng, x| rng.gen() [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoded` [INFO] [stdout] --> benches/saito_benchmark.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let encoded: Vec = bincode::serialize(block).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:166:10 [INFO] [stdout] | [INFO] [stdout] 166 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:178:10 [INFO] [stdout] | [INFO] [stdout] 178 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 191 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:232:10 [INFO] [stdout] | [INFO] [stdout] 232 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:245:10 [INFO] [stdout] | [INFO] [stdout] 245 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:271:10 [INFO] [stdout] | [INFO] [stdout] 271 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_since_unix_epoch` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn time_since_unix_epoch() -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn create_block(public_key: PublicKey) -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_blocks` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_blocks` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn read_blocks() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_block` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn read_block() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_and_deserialize_with_file` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn serialize_and_deserialize_with_file(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_and_deserialize_in_memory` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn serialize_and_deserialize_in_memory(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_in_memory` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn serialize_in_memory(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn create_block_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_multi_thread_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:177:4 [INFO] [stdout] | [INFO] [stdout] 177 | fn create_block_multi_thread_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_blocks_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:190:4 [INFO] [stdout] | [INFO] [stdout] 190 | fn serialize_blocks_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_blocks_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn deserialize_blocks_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deserialize_block_from_disk_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn deserialize_block_from_disk_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_in_memory_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn serialize_in_memory_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_deserialize_in_memory_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:244:4 [INFO] [stdout] | [INFO] [stdout] 244 | fn serialize_deserialize_in_memory_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_deserialize_to_file_benchmark` is never used [INFO] [stdout] --> benches/saito_benchmark.rs:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | fn serialize_deserialize_to_file_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/saito_benchmark.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 101 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/saito_benchmark.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/lib.rs:1204:9 [INFO] [stdout] | [INFO] [stdout] 1204 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/lib.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/lib.rs:1206:21 [INFO] [stdout] | [INFO] [stdout] 1206 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx_solution` [INFO] [stdout] --> src/lib.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let golden_tx_solution = self.calculate_solution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx_solution` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vote` [INFO] [stdout] --> src/lib.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_solution` [INFO] [stdout] --> src/lib.rs:234:27 [INFO] [stdout] | [INFO] [stdout] 234 | fn find_winner(&self, random_solution: &[u8], previous_block: &Block) -> PublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | let mut winning_tx = self.find_winning_transaction(previous_block); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/lib.rs:1137:10 [INFO] [stdout] | [INFO] [stdout] 1137 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lib.rs:1140:10 [INFO] [stdout] | [INFO] [stdout] 1140 | for x in 0..10 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/lib.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | for block in blocks.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/lib.rs:1155:17 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1174:17 [INFO] [stdout] | [INFO] [stdout] 1174 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blocks` is never read [INFO] [stdout] --> src/lib.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct Mempool { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 283 | blocks: RefCell>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mempool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `vote`, `random`, and `publickey` are never read [INFO] [stdout] --> src/lib.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 313 | struct GoldenTicket { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 314 | target: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 315 | vote: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 316 | random: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 317 | publickey: PublicKey [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GoldenTicket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `calculate_difficulty` and `calculate_paysplit` are never used [INFO] [stdout] --> src/lib.rs:321:8 [INFO] [stdout] | [INFO] [stdout] 320 | impl GoldenTicket { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 321 | fn calculate_difficulty (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn calculate_paysplit (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate_to_amount` is never used [INFO] [stdout] --> src/lib.rs:436:8 [INFO] [stdout] | [INFO] [stdout] 366 | impl Transaction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 436 | fn calculate_to_amount(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `genesis_ts` is never read [INFO] [stdout] --> src/lib.rs:908:5 [INFO] [stdout] | [INFO] [stdout] 907 | pub struct Blockchain { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 908 | genesis_ts: u128, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Blockchain` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block` is never used [INFO] [stdout] --> src/lib.rs:1136:4 [INFO] [stdout] | [INFO] [stdout] 1136 | fn create_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_blocks` is never used [INFO] [stdout] --> src/lib.rs:1149:4 [INFO] [stdout] | [INFO] [stdout] 1149 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_blocks` is never used [INFO] [stdout] --> src/lib.rs:1164:4 [INFO] [stdout] | [INFO] [stdout] 1164 | fn read_blocks() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serialize_and_deserialize` is never used [INFO] [stdout] --> src/lib.rs:1183:4 [INFO] [stdout] | [INFO] [stdout] 1183 | fn serialize_and_deserialize(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:343:10 [INFO] [stdout] | [INFO] [stdout] 343 | #[derive(Serialize, Deserialize, PartialEq, Debug, Copy, Clone)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TransactionType` [INFO] [stdout] 344 | pub enum TransactionType { [INFO] [stdout] | --------------- `TransactionType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:343:21 [INFO] [stdout] | [INFO] [stdout] 343 | #[derive(Serialize, Deserialize, PartialEq, Debug, Copy, Clone)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TransactionType` [INFO] [stdout] 344 | pub enum TransactionType { [INFO] [stdout] | --------------- `TransactionType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction` [INFO] [stdout] 354 | pub struct Transaction { [INFO] [stdout] | ----------- `Transaction` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:353:21 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction` [INFO] [stdout] 354 | pub struct Transaction { [INFO] [stdout] | ----------- `Transaction` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:519:10 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Slip` [INFO] [stdout] 520 | pub struct Slip { [INFO] [stdout] | ---- `Slip` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Slip` [INFO] [stdout] 520 | pub struct Slip { [INFO] [stdout] | ---- `Slip` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:685:10 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block` [INFO] [stdout] 686 | pub struct Block { [INFO] [stdout] | ----- `Block` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block` [INFO] [stdout] 686 | pub struct Block { [INFO] [stdout] | ----- `Block` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:879:9 [INFO] [stdout] | [INFO] [stdout] 879 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 879 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:1003:9 [INFO] [stdout] | [INFO] [stdout] 1003 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1003 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:1187:5 [INFO] [stdout] | [INFO] [stdout] 1187 | f.write_all(&encode[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1187 | let _ = f.write_all(&encode[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.85s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "3fd34bb832251f8afc431898c11c7c555e935d8c6fd753653444051f22e3c230", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3fd34bb832251f8afc431898c11c7c555e935d8c6fd753653444051f22e3c230", kill_on_drop: false }` [INFO] [stdout] 3fd34bb832251f8afc431898c11c7c555e935d8c6fd753653444051f22e3c230