[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#a3f76a26e045a760bb1163b7eab36872985242d5 for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BearGuy/saito on toolchain a3f76a26e045a760bb1163b7eab36872985242d5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "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-3-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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sha2 v0.8.0 [INFO] [stderr] Downloaded base58 v0.1.0 [INFO] [stderr] Downloaded block-padding v0.1.4 [INFO] [stderr] Downloaded serde_derive v1.0.97 [INFO] [stderr] Downloaded tinytemplate v1.0.2 [INFO] [stderr] Downloaded untrusted v0.6.2 [INFO] [stderr] Downloaded cast v0.2.2 [INFO] [stderr] Downloaded ryu v1.0.0 [INFO] [stderr] Downloaded serde_json v1.0.40 [INFO] [stderr] Downloaded itertools v0.8.0 [INFO] [stderr] Downloaded cc v1.0.26 [INFO] [stderr] Downloaded serde v1.0.93 [INFO] [stderr] Downloaded syn v0.15.40 [INFO] [stderr] Downloaded secp256k1 v0.12.2 [INFO] [stderr] Downloaded generic-array v0.12.0 [INFO] [stderr] Downloaded bstr v0.2.4 [INFO] [stderr] Downloaded csv-core v0.1.6 [INFO] [stderr] Downloaded merkle v1.10.0 [INFO] [stderr] Downloaded digest v0.8.0 [INFO] [stderr] Downloaded csv v1.1.1 [INFO] [stderr] Downloaded serde_bytes v0.11.1 [INFO] [stderr] Downloaded ring v0.13.5 [INFO] [stderr] Downloaded opaque-debug v0.2.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b69516e8ba88f7c323b102d3133b89e47ee563df10816328d9085bdb65143a4d [INFO] running `Command { std: "docker" "start" "-a" "b69516e8ba88f7c323b102d3133b89e47ee563df10816328d9085bdb65143a4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b69516e8ba88f7c323b102d3133b89e47ee563df10816328d9085bdb65143a4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b69516e8ba88f7c323b102d3133b89e47ee563df10816328d9085bdb65143a4d", kill_on_drop: false }` [INFO] [stdout] b69516e8ba88f7c323b102d3133b89e47ee563df10816328d9085bdb65143a4d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fd1f205a983686a1b94666c744d533110358ae70230cfb2e7ef98f5f8a0f8249 [INFO] running `Command { std: "docker" "start" "-a" "fd1f205a983686a1b94666c744d533110358ae70230cfb2e7ef98f5f8a0f8249", 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] Checking lazy_static v1.3.0 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling cc v1.0.26 [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking block-padding v0.1.4 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling secp256k1 v0.12.2 [INFO] [stderr] Checking untrusted v0.6.2 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Compiling merkle v1.10.0 [INFO] [stderr] Checking generic-array v0.12.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking regex-automata v0.1.8 [INFO] [stderr] Checking rayon v1.1.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Checking digest v0.8.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking opaque-debug v0.2.2 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking csv-core v0.1.6 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking base58 v0.1.0 [INFO] [stderr] Checking same-file v1.0.5 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Compiling serde_derive v1.0.97 [INFO] [stderr] Checking serde_bytes v0.11.1 [INFO] [stderr] Checking bstr v0.2.4 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking saito-rust v0.1.0 (/opt/rustwide/workdir) [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 csv v1.1.1 [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 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 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 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 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: 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: 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 `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: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [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: 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 28.16s [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" "fd1f205a983686a1b94666c744d533110358ae70230cfb2e7ef98f5f8a0f8249", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd1f205a983686a1b94666c744d533110358ae70230cfb2e7ef98f5f8a0f8249", kill_on_drop: false }` [INFO] [stdout] fd1f205a983686a1b94666c744d533110358ae70230cfb2e7ef98f5f8a0f8249