[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 against master#09a371361240e42b0d69438fd1179efcf212e576 for pr-157814-crater-rollup [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [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-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/BearGuy/saito on toolchain 09a371361240e42b0d69438fd1179efcf212e576 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09a371361240e42b0d69438fd1179efcf212e576" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+09a371361240e42b0d69438fd1179efcf212e576" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded opaque-debug v0.2.2 [INFO] [stderr] Downloaded generic-array v0.12.0 [INFO] [stderr] Downloaded typenum v1.10.0 [INFO] [stderr] Downloaded digest v0.8.0 [INFO] [stderr] Downloaded sha2 v0.8.0 [INFO] [stderr] Downloaded base58 v0.1.0 [INFO] [stderr] Downloaded ryu v1.0.0 [INFO] [stderr] Downloaded block-padding v0.1.4 [INFO] [stderr] Downloaded rand_xoshiro v0.1.0 [INFO] [stderr] Downloaded cast v0.2.2 [INFO] [stderr] Downloaded atty v0.2.13 [INFO] [stderr] Downloaded bincode v1.1.4 [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 same-file v1.0.5 [INFO] [stderr] Downloaded autocfg v0.1.5 [INFO] [stderr] Downloaded walkdir v2.2.9 [INFO] [stderr] Downloaded csv-core v0.1.6 [INFO] [stderr] Downloaded arrayvec v0.4.11 [INFO] [stderr] Downloaded tinytemplate v1.0.2 [INFO] [stderr] Downloaded cc v1.0.26 [INFO] [stderr] Downloaded serde_derive v1.0.97 [INFO] [stderr] Downloaded rayon-core v1.5.0 [INFO] [stderr] Downloaded criterion v0.2.11 [INFO] [stderr] Downloaded serde v1.0.93 [INFO] [stderr] Downloaded itertools v0.8.0 [INFO] [stderr] Downloaded serde_json v1.0.40 [INFO] [stderr] Downloaded regex-automata v0.1.8 [INFO] [stderr] Downloaded syn v0.15.40 [INFO] [stderr] Downloaded rayon v1.1.0 [INFO] [stderr] Downloaded secp256k1 v0.12.2 [INFO] [stderr] Downloaded bstr v0.2.4 [INFO] [stderr] Downloaded csv v1.1.1 [INFO] [stderr] Downloaded ring v0.13.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b [INFO] running `Command { std: "docker" "start" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b" "/opt/rustwide/cargo-home/bin/cargo" "+09a371361240e42b0d69438fd1179efcf212e576" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b" "/opt/rustwide/cargo-home/bin/cargo" "+09a371361240e42b0d69438fd1179efcf212e576" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling syn v0.15.40 [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] Compiling typenum v1.10.0 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking byteorder v1.3.2 [INFO] [stderr] Compiling merkle v1.10.0 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking block-padding v0.1.4 [INFO] [stderr] Checking opaque-debug v0.2.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 same-file v1.0.5 [INFO] [stderr] Checking base58 v0.1.0 [INFO] [stderr] Checking regex-automata v0.1.8 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling secp256k1 v0.12.2 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [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 atty v0.2.13 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Checking csv-core v0.1.6 [INFO] [stderr] Checking generic-array v0.12.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.0 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Checking rayon v1.1.0 [INFO] [stderr] Compiling serde_derive v1.0.97 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking serde_bytes v0.11.1 [INFO] [stderr] Checking bstr v0.2.4 [INFO] [stderr] Checking csv v1.1.1 [INFO] [stderr] Checking saito-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [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] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` 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: unexpected `cfg` condition value: `cargo-clippy` [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] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:353:21 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:519:10 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:685:10 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: 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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:17 [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: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: `vote` [INFO] [stdout] --> src/lib.rs:205:13 [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: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: `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: 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: 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: `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:13 [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: 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)]` (part of `#[warn(unused)]`) 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | let random_number_bytes: [u8; 4] = unsafe { transmute(random_number.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 114 - let random_number_bytes: [u8; 4] = unsafe { transmute(random_number.to_be()) }; [INFO] [stdout] 114 + let random_number_bytes: [u8; 4] = unsafe { u32::to_ne_bytes(random_number.to_be()) }; [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: `#[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 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 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 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:467:50 [INFO] [stdout] | [INFO] [stdout] 467 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 467 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 467 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:489:50 [INFO] [stdout] | [INFO] [stdout] 489 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 489 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 489 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [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: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 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 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 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 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:727:42 [INFO] [stdout] | [INFO] [stdout] 727 | let id_bytes: [u8; 4] = unsafe { transmute(self.id.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 727 - let id_bytes: [u8; 4] = unsafe { transmute(self.id.to_be()) }; [INFO] [stdout] 727 + let id_bytes: [u8; 4] = unsafe { u32::to_ne_bytes(self.id.to_be()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:728:50 [INFO] [stdout] | [INFO] [stdout] 728 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 728 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 728 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [INFO] [stdout] | [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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tinytemplate v1.0.2 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [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] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` 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: unexpected `cfg` condition value: `cargo-clippy` [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] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:353:21 [INFO] [stdout] | [INFO] [stdout] 353 | #[derive(Serialize, Deserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:519:10 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | #[derive(Serialize, Deserialize, PartialEq, Clone, Debug)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:685:10 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = note: see for more information about checking conditional configuration [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 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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) on by default [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: `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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:17 [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: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: `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: `vote` [INFO] [stdout] --> src/lib.rs:205:13 [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: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: `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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 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: 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: `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:13 [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: 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)]` (part of `#[warn(unused)]`) 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | let random_number_bytes: [u8; 4] = unsafe { transmute(random_number.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 114 - let random_number_bytes: [u8; 4] = unsafe { transmute(random_number.to_be()) }; [INFO] [stdout] 114 + let random_number_bytes: [u8; 4] = unsafe { u32::to_ne_bytes(random_number.to_be()) }; [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: `#[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 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 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 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:467:50 [INFO] [stdout] | [INFO] [stdout] 467 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 467 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 467 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:489:50 [INFO] [stdout] | [INFO] [stdout] 489 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 489 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 489 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [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: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 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 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 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 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: unnecessary transmute [INFO] [stdout] --> src/lib.rs:727:42 [INFO] [stdout] | [INFO] [stdout] 727 | let id_bytes: [u8; 4] = unsafe { transmute(self.id.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 727 - let id_bytes: [u8; 4] = unsafe { transmute(self.id.to_be()) }; [INFO] [stdout] 727 + let id_bytes: [u8; 4] = unsafe { u32::to_ne_bytes(self.id.to_be()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:728:50 [INFO] [stdout] | [INFO] [stdout] 728 | let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 728 - let timestamp_bytes: [u8; 16] = unsafe { transmute(self.timestamp.to_be()) }; [INFO] [stdout] 728 + let timestamp_bytes: [u8; 16] = unsafe { u128::to_ne_bytes(self.timestamp.to_be()) }; [INFO] [stdout] | [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)]` (part of `#[warn(unused)]`) 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.17s [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 2` [INFO] running `Command { std: "docker" "inspect" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b", kill_on_drop: false }` [INFO] [stdout] 73d0b367af01b28a73508d99e35b39b645daa8b734d00ee3d9ba326f4c00879b