[INFO] fetching crate data_chain 0.1.1...
[INFO] checking data_chain-0.1.1 against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[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 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rayon v0.4.3
[INFO] [stderr]   Downloaded ws v0.4.8
[INFO] [stderr]   Downloaded slab v0.1.3
[INFO] [stderr]   Downloaded serde v0.7.15
[INFO] [stderr]   Downloaded libsodium-sys v0.0.16
[INFO] [stderr]   Downloaded mio v0.5.1
[INFO] [stderr]   Downloaded sha1 v0.1.1
[INFO] [stderr]   Downloaded bytes v0.3.0
[INFO] [stderr]   Downloaded bitflags v0.4.0
[INFO] [stderr]   Downloaded deque v0.3.2
[INFO] [stderr]   Downloaded miow v0.1.5
[INFO] [stderr]   Downloaded log4rs v0.3.3
[INFO] [stderr]   Downloaded itertools v0.4.19
[INFO] [stderr]   Downloaded bincode v0.5.9
[INFO] [stderr]   Downloaded aho-corasick v0.5.3
[INFO] [stderr]   Downloaded regex-syntax v0.3.9
[INFO] [stderr]   Downloaded sodiumoxide v0.0.16
[INFO] [stderr]   Downloaded regex v0.1.80
[INFO] [stderr]   Downloaded nix v0.5.1
[INFO] [stderr]   Downloaded toml v0.1.30
[INFO] [stderr]   Downloaded byteorder v0.5.3
[INFO] [stderr]   Downloaded memchr v0.1.11
[INFO] [stderr]   Downloaded utf8-ranges v0.1.3
[INFO] [stderr]   Downloaded thread_local v0.2.7
[INFO] [stderr]   Downloaded thread-id v2.0.0
[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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e375851d6fa9e3438be1fcf53b1591d35870dfd0c8c2b76f41e74b22792c94c
[INFO] running `Command { std: "docker" "start" "-a" "5e375851d6fa9e3438be1fcf53b1591d35870dfd0c8c2b76f41e74b22792c94c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e375851d6fa9e3438be1fcf53b1591d35870dfd0c8c2b76f41e74b22792c94c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e375851d6fa9e3438be1fcf53b1591d35870dfd0c8c2b76f41e74b22792c94c", kill_on_drop: false }`
[INFO] [stdout] 5e375851d6fa9e3438be1fcf53b1591d35870dfd0c8c2b76f41e74b22792c94c
[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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8f9ba8fb0b4cec277447cd83fbfa59647875a8d0153a8d0aca5ae403382c650
[INFO] running `Command { std: "docker" "start" "-a" "d8f9ba8fb0b4cec277447cd83fbfa59647875a8d0153a8d0aca5ae403382c650", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]     Checking bytes v0.3.0
[INFO] [stderr]     Checking slab v0.1.3
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling libsodium-sys v0.0.16
[INFO] [stderr]     Checking sha1 v0.1.1
[INFO] [stderr]     Checking toml v0.1.30
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking byteorder v0.5.3
[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 num_cpus v1.16.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking deque v0.3.2
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking log4rs v0.3.3
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rayon v0.4.3
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking bincode v0.5.9
[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: 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] 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] 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(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] 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(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] 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(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(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(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(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(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_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] 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] 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] 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] 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] 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] 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] 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] 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] 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: 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`
[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: 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`
[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`
[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`
[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`
[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`
[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: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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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: 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::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] [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[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`
[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`
[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`
[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 test) due to 40 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d8f9ba8fb0b4cec277447cd83fbfa59647875a8d0153a8d0aca5ae403382c650", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8f9ba8fb0b4cec277447cd83fbfa59647875a8d0153a8d0aca5ae403382c650", kill_on_drop: false }`
[INFO] [stdout] d8f9ba8fb0b4cec277447cd83fbfa59647875a8d0153a8d0aca5ae403382c650
[INFO] checking data_chain-0.1.1 against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[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 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 17f7e680b7c3e3c126f6be395062ac327ff74e1954ef157fad01a10277078c98
[INFO] running `Command { std: "docker" "start" "-a" "17f7e680b7c3e3c126f6be395062ac327ff74e1954ef157fad01a10277078c98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17f7e680b7c3e3c126f6be395062ac327ff74e1954ef157fad01a10277078c98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17f7e680b7c3e3c126f6be395062ac327ff74e1954ef157fad01a10277078c98", kill_on_drop: false }`
[INFO] [stdout] 17f7e680b7c3e3c126f6be395062ac327ff74e1954ef157fad01a10277078c98
[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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b06eae8ac43ad464805065c50ece3ce1f7e3c2742eb477150ea6f80af54cc60
[INFO] running `Command { std: "docker" "start" "-a" "4b06eae8ac43ad464805065c50ece3ce1f7e3c2742eb477150ea6f80af54cc60", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking slab v0.1.3
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling libsodium-sys v0.0.16
[INFO] [stderr]     Checking bytes v0.3.0
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]     Checking sha1 v0.1.1
[INFO] [stderr]     Checking toml v0.1.30
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking serde v0.7.15
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking aho-corasick v0.5.3
[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 byteorder v0.5.3
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking deque v0.3.2
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking log4rs v0.3.3
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rayon v0.4.3
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking ws v0.4.8
[INFO] [stderr]     Checking bincode v0.5.9
[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: 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] 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] 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(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] 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] 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(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(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(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] 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] 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] 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] 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] 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] 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] 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] 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] 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: 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`
[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: 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`
[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`
[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`
[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`
[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: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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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`
[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] [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`
[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] [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[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`
[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`
[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`
[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`
[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 test) due to 40 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4b06eae8ac43ad464805065c50ece3ce1f7e3c2742eb477150ea6f80af54cc60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b06eae8ac43ad464805065c50ece3ce1f7e3c2742eb477150ea6f80af54cc60", kill_on_drop: false }`
[INFO] [stdout] 4b06eae8ac43ad464805065c50ece3ce1f7e3c2742eb477150ea6f80af54cc60
