[INFO] fetching crate data_chain 0.1.1...
[INFO] checking data_chain-0.1.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate data_chain 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate data_chain 0.1.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate data_chain 0.1.1
[INFO] finished tweaking crates.io crate data_chain 0.1.1
[INFO] tweaked toml for crates.io crate data_chain 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded slab v0.1.3
[INFO] [stderr]   Downloaded sha1 v0.1.1
[INFO] [stderr]   Downloaded deque v0.3.2
[INFO] [stderr]   Downloaded libsodium-sys v0.0.16
[INFO] [stderr]   Downloaded serde v0.7.15
[INFO] [stderr]   Downloaded log4rs v0.3.3
[INFO] [stderr]   Downloaded bytes v0.3.0
[INFO] [stderr]   Downloaded mio v0.5.1
[INFO] [stderr]   Downloaded itertools v0.4.19
[INFO] [stderr]   Downloaded bincode v0.5.9
[INFO] [stderr]   Downloaded toml v0.1.30
[INFO] [stderr]   Downloaded nix v0.5.1
[INFO] [stderr]   Downloaded ws v0.4.8
[INFO] [stderr]   Downloaded rayon v0.4.3
[INFO] [stderr]   Downloaded miow v0.1.5
[INFO] [stderr]   Downloaded bitflags v0.4.0
[INFO] [stderr]   Downloaded sodiumoxide v0.0.16
[INFO] [stderr]   Downloaded maidsafe_utilities v0.5.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d49fe2566c65d166e19fcd3f26e5c637996d42ad3491e86bd767b34c3c343675
[INFO] running `Command { std: "docker" "start" "-a" "d49fe2566c65d166e19fcd3f26e5c637996d42ad3491e86bd767b34c3c343675", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d49fe2566c65d166e19fcd3f26e5c637996d42ad3491e86bd767b34c3c343675", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d49fe2566c65d166e19fcd3f26e5c637996d42ad3491e86bd767b34c3c343675", kill_on_drop: false }`
[INFO] [stdout] d49fe2566c65d166e19fcd3f26e5c637996d42ad3491e86bd767b34c3c343675
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69d39959b5ea6101a30a2ad3cc8c91392b26326ae118c0a8e7884cc2c3d067e1
[INFO] running `Command { std: "docker" "start" "-a" "69d39959b5ea6101a30a2ad3cc8c91392b26326ae118c0a8e7884cc2c3d067e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking slab v0.1.3
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking bytes v0.3.0
[INFO] [stderr]     Checking byteorder v0.5.3
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking serde v0.7.15
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling ws2_32-sys v0.2.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking deque v0.3.2
[INFO] [stderr]     Checking sha1 v0.1.1
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling libsodium-sys v0.0.16
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking toml v0.1.30
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rayon v0.4.3
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking bincode v0.5.9
[INFO] [stderr]     Checking log4rs v0.3.3
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking ws v0.4.8
[INFO] [stderr]     Checking maidsafe_utilities v0.5.4
[INFO] [stderr]     Checking sodiumoxide v0.0.16
[INFO] [stderr]     Checking data_chain v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow`
[INFO] [stdout]    --> src/lib.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 | #![forbid(bad_style, exceeding_bitshifts, mutable_transmutes, no_mangle_const_items,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(deprecated) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout]     = note: `#[warn(forbidden_lint_groups)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `drop_with_repr_extern` has been removed: drop flags have been removed
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     = note: `#[forbid(renamed_and_removed_lints)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(improper_ctypes) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(non_shorthand_field_patterns) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `plugin_as_library` has been removed: plugins have been deprecated and retired
[INFO] [stdout]    --> src/lib.rs:224:61
[INFO] [stdout]     |
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
[INFO] [stdout]    --> src/lib.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(stable_features) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unconditional_recursion) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:76
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unknown_lints) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused_comparisons) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(while_true) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:61
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                                             ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `fat_ptr_transmutes` has been removed: was accidentally removed back in 2014
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 | #![allow(box_pointers, fat_ptr_transmutes, missing_copy_implementations,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused extern crate
[INFO] [stdout]    --> src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | extern crate rustc_serialize;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_extern_crates)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused `#[macro_use]` import
[INFO] [stdout]    --> src/lib.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | #[macro_use]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]    --> src/block.rs:38:17
[INFO] [stdout]     |
[INFO] [stdout] 38  | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/data_chain.rs:285:42
[INFO] [stdout]     |
[INFO] [stdout] 285 |         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout]     |                                          ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:227:46
[INFO] [stdout]     |
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 285 -         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout] 285 +         self.chain.iter_mut().rev().find(|x| x.identifier().is_link() && x.valid)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/node_block.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |             crypto::sign::sign_detached(&try!(serialisation::serialise(&data_identifier))[..],
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow`
[INFO] [stdout]    --> src/lib.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 | #![forbid(bad_style, exceeding_bitshifts, mutable_transmutes, no_mangle_const_items,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(deprecated) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout]     = note: `#[warn(forbidden_lint_groups)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `drop_with_repr_extern` has been removed: drop flags have been removed
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     = note: `#[forbid(renamed_and_removed_lints)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(improper_ctypes) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(non_shorthand_field_patterns) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `plugin_as_library` has been removed: plugins have been deprecated and retired
[INFO] [stdout]    --> src/lib.rs:224:61
[INFO] [stdout]     |
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
[INFO] [stdout]    --> src/lib.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(stable_features) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unconditional_recursion) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:76
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unknown_lints) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused_comparisons) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(while_true) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:61
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                                             ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `fat_ptr_transmutes` has been removed: was accidentally removed back in 2014
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 | #![allow(box_pointers, fat_ptr_transmutes, missing_copy_implementations,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused extern crate
[INFO] [stdout]    --> src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | extern crate rustc_serialize;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_extern_crates)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused `#[macro_use]` import
[INFO] [stdout]    --> src/lib.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | #[macro_use]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]    --> src/block.rs:38:17
[INFO] [stdout]     |
[INFO] [stdout] 38  | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/data_chain.rs:285:42
[INFO] [stdout]     |
[INFO] [stdout] 285 |         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout]     |                                          ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:227:46
[INFO] [stdout]     |
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 285 -         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout] 285 +         self.chain.iter_mut().rev().find(|x| x.identifier().is_link() && x.valid)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Itertools` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `Itertools` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 352 |     use itertools::Itertools;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `node_block` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `node_block` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 353 |     use node_block;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `NodeBlock` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `NodeBlock` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 354 |     use node_block::NodeBlock;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `BlockIdentifier` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `BlockIdentifier` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 355 |     use block_identifier::BlockIdentifier;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/data_chain.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_qualifications)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 361 -         ::sodiumoxide::init();
[INFO] [stdout] 361 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/data_chain.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 487 -         ::sodiumoxide::init();
[INFO] [stdout] 487 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/node_block.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |             crypto::sign::sign_detached(&try!(serialisation::serialise(&data_identifier))[..],
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `BlockIdentifier` is imported redundantly
[INFO] [stdout]    --> src/node_block.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use super::*;
[INFO] [stdout]     |         -------- the item `BlockIdentifier` is already imported here
[INFO] [stdout] 134 |     use block_identifier::BlockIdentifier;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crypto` is imported redundantly
[INFO] [stdout]    --> src/node_block.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use super::*;
[INFO] [stdout]     |         -------- the item `crypto` is already imported here
[INFO] [stdout] 134 |     use block_identifier::BlockIdentifier;
[INFO] [stdout] 135 |     use sodiumoxide::crypto;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/node_block.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 140 -         ::sodiumoxide::init();
[INFO] [stdout] 140 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/block_identifier.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         ::sodiumoxide::init();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 95 -         ::sodiumoxide::init();
[INFO] [stdout] 95 +         sodiumoxide::init();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:63:50
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Error::Serialisation(ref err) => err.description(),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:63:50
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Error::Serialisation(ref err) => err.description(),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&sodiumoxide::crypto::sign::PublicKey: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::sign::PublicKey` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Signature: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&Signature` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&sodiumoxide::crypto::sign::PublicKey: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::sign::PublicKey` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Signature: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&Signature` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 39 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `data_chain` (lib) due to 40 previous errors; 10 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 49 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `data_chain` (lib test) due to 50 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "69d39959b5ea6101a30a2ad3cc8c91392b26326ae118c0a8e7884cc2c3d067e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69d39959b5ea6101a30a2ad3cc8c91392b26326ae118c0a8e7884cc2c3d067e1", kill_on_drop: false }`
[INFO] [stdout] 69d39959b5ea6101a30a2ad3cc8c91392b26326ae118c0a8e7884cc2c3d067e1
[INFO] checking data_chain-0.1.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate data_chain 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate data_chain 0.1.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate data_chain 0.1.1
[INFO] finished tweaking crates.io crate data_chain 0.1.1
[INFO] tweaked toml for crates.io crate data_chain 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e89f3d0ef09d68ec4f66c3cc282fc222477f1ae29236f4fd244a13425b860dc1
[INFO] running `Command { std: "docker" "start" "-a" "e89f3d0ef09d68ec4f66c3cc282fc222477f1ae29236f4fd244a13425b860dc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e89f3d0ef09d68ec4f66c3cc282fc222477f1ae29236f4fd244a13425b860dc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e89f3d0ef09d68ec4f66c3cc282fc222477f1ae29236f4fd244a13425b860dc1", kill_on_drop: false }`
[INFO] [stdout] e89f3d0ef09d68ec4f66c3cc282fc222477f1ae29236f4fd244a13425b860dc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 75a3566d864d362046505b89a0c1f8ec114d969520e6aefa8f8332a326550640
[INFO] running `Command { std: "docker" "start" "-a" "75a3566d864d362046505b89a0c1f8ec114d969520e6aefa8f8332a326550640", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]     Checking bytes v0.3.0
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking slab v0.1.3
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking serde v0.7.15
[INFO] [stderr]     Checking byteorder v0.5.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling ws2_32-sys v0.2.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking deque v0.3.2
[INFO] [stderr]     Checking sha1 v0.1.1
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling libsodium-sys v0.0.16
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking toml v0.1.30
[INFO] [stderr]     Checking rayon v0.4.3
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking log4rs v0.3.3
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking bincode v0.5.9
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking ws v0.4.8
[INFO] [stderr]     Checking maidsafe_utilities v0.5.4
[INFO] [stderr]     Checking sodiumoxide v0.0.16
[INFO] [stderr]     Checking data_chain v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow`
[INFO] [stdout]    --> src/lib.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 | #![forbid(bad_style, exceeding_bitshifts, mutable_transmutes, no_mangle_const_items,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(deprecated) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout]     = note: `#[warn(forbidden_lint_groups)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `drop_with_repr_extern` has been removed: drop flags have been removed
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     = note: `#[forbid(renamed_and_removed_lints)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(improper_ctypes) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(non_shorthand_field_patterns) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `plugin_as_library` has been removed: plugins have been deprecated and retired
[INFO] [stdout]    --> src/lib.rs:224:61
[INFO] [stdout]     |
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
[INFO] [stdout]    --> src/lib.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(stable_features) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unconditional_recursion) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:76
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unknown_lints) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused_comparisons) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(while_true) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:61
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                                             ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `fat_ptr_transmutes` has been removed: was accidentally removed back in 2014
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 | #![allow(box_pointers, fat_ptr_transmutes, missing_copy_implementations,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused extern crate
[INFO] [stdout]    --> src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | extern crate rustc_serialize;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_extern_crates)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused `#[macro_use]` import
[INFO] [stdout]    --> src/lib.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | #[macro_use]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]    --> src/block.rs:38:17
[INFO] [stdout]     |
[INFO] [stdout] 38  | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/data_chain.rs:285:42
[INFO] [stdout]     |
[INFO] [stdout] 285 |         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout]     |                                          ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:227:46
[INFO] [stdout]     |
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 285 -         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout] 285 +         self.chain.iter_mut().rev().find(|x| x.identifier().is_link() && x.valid)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/node_block.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |             crypto::sign::sign_detached(&try!(serialisation::serialise(&data_identifier))[..],
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow`
[INFO] [stdout]    --> src/lib.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 | #![forbid(bad_style, exceeding_bitshifts, mutable_transmutes, no_mangle_const_items,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(deprecated) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout]     = note: `#[warn(forbidden_lint_groups)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `drop_with_repr_extern` has been removed: drop flags have been removed
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     = note: `#[forbid(renamed_and_removed_lints)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(improper_ctypes) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:223:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(non_shorthand_field_patterns) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `plugin_as_library` has been removed: plugins have been deprecated and retired
[INFO] [stdout]    --> src/lib.rs:224:61
[INFO] [stdout]     |
[INFO] [stdout] 224 |         non_shorthand_field_patterns, overflowing_literals, plugin_as_library,
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
[INFO] [stdout]    --> src/lib.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(stable_features) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unconditional_recursion) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:225:76
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         private_no_mangle_fns, private_no_mangle_statics, stable_features, unconditional_recursion,
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unknown_lints) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(unused_comparisons) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: deny(while_true) incompatible with previous forbid
[INFO] [stdout]    --> src/lib.rs:227:61
[INFO] [stdout]     |
[INFO] [stdout] 222 |           unknown_crate_types, warnings)]
[INFO] [stdout]     |                                -------- `forbid` level set here
[INFO] [stdout] ...
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                                             ^^^^^^^^^^ overruled by previous forbid
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lint `fat_ptr_transmutes` has been removed: was accidentally removed back in 2014
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 | #![allow(box_pointers, fat_ptr_transmutes, missing_copy_implementations,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused extern crate
[INFO] [stdout]    --> src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | extern crate rustc_serialize;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_extern_crates)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused `#[macro_use]` import
[INFO] [stdout]    --> src/lib.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | #[macro_use]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:226:37
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unknown_lints, unsafe_code, unused, unused_allocation, unused_attributes,
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]    --> src/block.rs:38:17
[INFO] [stdout]     |
[INFO] [stdout] 38  | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | #![deny(deprecated, drop_with_repr_extern, improper_ctypes, missing_docs,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/data_chain.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[derive(Default, Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/data_chain.rs:285:42
[INFO] [stdout]     |
[INFO] [stdout] 285 |         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout]     |                                          ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:227:46
[INFO] [stdout]     |
[INFO] [stdout] 227 |         unused_comparisons, unused_features, unused_parens, while_true)]
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 285 -         self.chain.iter_mut().rev().find((|x| x.identifier().is_link() && x.valid))
[INFO] [stdout] 285 +         self.chain.iter_mut().rev().find(|x| x.identifier().is_link() && x.valid)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Itertools` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `Itertools` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 352 |     use itertools::Itertools;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `node_block` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `node_block` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 353 |     use node_block;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `NodeBlock` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `NodeBlock` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 354 |     use node_block::NodeBlock;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `BlockIdentifier` is imported redundantly
[INFO] [stdout]    --> src/data_chain.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use super::*;
[INFO] [stdout]     |         -------- the item `BlockIdentifier` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 355 |     use block_identifier::BlockIdentifier;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/data_chain.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[forbid(unused_qualifications)]` implied by `#[forbid(warnings)]`
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 361 -         ::sodiumoxide::init();
[INFO] [stdout] 361 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/data_chain.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 487 -         ::sodiumoxide::init();
[INFO] [stdout] 487 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/node_block.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/node_block.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |             crypto::sign::sign_detached(&try!(serialisation::serialise(&data_identifier))[..],
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `BlockIdentifier` is imported redundantly
[INFO] [stdout]    --> src/node_block.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use super::*;
[INFO] [stdout]     |         -------- the item `BlockIdentifier` is already imported here
[INFO] [stdout] 134 |     use block_identifier::BlockIdentifier;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `crypto` is imported redundantly
[INFO] [stdout]    --> src/node_block.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use super::*;
[INFO] [stdout]     |         -------- the item `crypto` is already imported here
[INFO] [stdout] 134 |     use block_identifier::BlockIdentifier;
[INFO] [stdout] 135 |     use sodiumoxide::crypto;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/node_block.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         ::sodiumoxide::init();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 140 -         ::sodiumoxide::init();
[INFO] [stdout] 140 +         sodiumoxide::init();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/block_identifier.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         ::sodiumoxide::init();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 95 -         ::sodiumoxide::init();
[INFO] [stdout] 95 +         sodiumoxide::init();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:63:50
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Error::Serialisation(ref err) => err.description(),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:63:50
[INFO] [stdout]    |
[INFO] [stdout] 63 |             Error::Serialisation(ref err) => err.description(),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                 --------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |                 in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Encodable`
[INFO] [stdout]    = note: 2 redundant requirements hidden
[INFO] [stdout]    = note: required for `&Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     proof: Vec<(PublicKey, Signature)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/block.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, RustcEncodable, RustcDecodable, PartialEq, Clone)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`, which is required by `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>: Decodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: required for `(sodiumoxide::crypto::sign::PublicKey, Signature)` to implement `Decodable`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Vec<(sodiumoxide::crypto::sign::PublicKey, Signature)>` to implement `Decodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&sodiumoxide::crypto::sign::PublicKey: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::sign::PublicKey` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Signature: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&Signature` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`, which is required by `&sodiumoxide::crypto::sign::PublicKey: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::sign::PublicKey` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Encodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Encodable` is not implemented for `Signature`, which is required by `&Signature: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&Signature` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] 48 | pub struct NodeBlockProof {
[INFO] [stdout] 49 |     key: PublicKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::sign::PublicKey: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::sign::PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 50 |     sig: Signature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signature: Decodable` is not satisfied
[INFO] [stdout]   --> src/node_block.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 39 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Encodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          required by a bound introduced by this call
[INFO] [stdout]    |          in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Encodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`, which is required by `&sodiumoxide::crypto::hash::sha256::Digest: Encodable`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Encodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 84 others
[INFO] [stdout]    = note: required for `&sodiumoxide::crypto::hash::sha256::Digest` to implement `Encodable`
[INFO] [stdout]    = note: this error originates in the derive macro `RustcEncodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ImmutableData(Digest),
[INFO] [stdout]    |                   ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                    ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `sodiumoxide::crypto::hash::sha256::Digest: Decodable` is not satisfied
[INFO] [stdout]   --> src/block_identifier.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(RustcEncodable, RustcDecodable, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                          -------------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 43 |     StructuredData(Digest, SdName),
[INFO] [stdout]    |                            ^^^^^^ the trait `Decodable` is not implemented for `sodiumoxide::crypto::hash::sha256::Digest`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Decodable`:
[INFO] [stdout]              bool
[INFO] [stdout]              char
[INFO] [stdout]              isize
[INFO] [stdout]              i8
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              usize
[INFO] [stdout]            and 79 others
[INFO] [stdout]    = note: this error originates in the derive macro `RustcDecodable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `data_chain` (lib) due to 40 previous errors; 10 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 49 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `data_chain` (lib test) due to 50 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "75a3566d864d362046505b89a0c1f8ec114d969520e6aefa8f8332a326550640", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75a3566d864d362046505b89a0c1f8ec114d969520e6aefa8f8332a326550640", kill_on_drop: false }`
[INFO] [stdout] 75a3566d864d362046505b89a0c1f8ec114d969520e6aefa8f8332a326550640
