[INFO] fetching crate secp256k1-test 0.7.2...
[INFO] testing secp256k1-test-0.7.2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate secp256k1-test 0.7.2 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate secp256k1-test 0.7.2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate secp256k1-test 0.7.2
[INFO] finished tweaking crates.io crate secp256k1-test 0.7.2
[INFO] tweaked toml for crates.io crate secp256k1-test 0.7.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 40 packages to latest compatible versions
[INFO] [stderr]       Adding arrayvec v0.3.25 (latest: v0.7.4)
[INFO] [stderr]       Adding arrayvec v0.5.2 (latest: v0.7.4)
[INFO] [stderr]       Adding base64 v0.13.1 (latest: v0.22.1)
[INFO] [stderr]       Adding blake2b_simd v0.5.11 (latest: v1.0.2)
[INFO] [stderr]       Adding constant_time_eq v0.1.5 (latest: v0.3.0)
[INFO] [stderr]       Adding dirs v1.0.5 (latest: v5.0.1)
[INFO] [stderr]       Adding getrandom v0.1.16 (latest: v0.2.15)
[INFO] [stderr]       Adding odds v0.2.26 (latest: v0.4.0)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding redox_syscall v0.1.57 (latest: v0.5.1)
[INFO] [stderr]       Adding redox_users v0.3.5 (latest: v0.4.5)
[INFO] [stderr]       Adding rust-argon2 v0.8.3 (latest: v2.1.0)
[INFO] [stderr]       Adding term v0.5.2 (latest: v0.7.0)
[INFO] [stderr]       Adding wasi v0.9.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b1ec1844fb1cd4d7a58f077fb86310ecccce0310824064a7236481b6cef081d
[INFO] running `Command { std: "docker" "start" "-a" "4b1ec1844fb1cd4d7a58f077fb86310ecccce0310824064a7236481b6cef081d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b1ec1844fb1cd4d7a58f077fb86310ecccce0310824064a7236481b6cef081d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b1ec1844fb1cd4d7a58f077fb86310ecccce0310824064a7236481b6cef081d", kill_on_drop: false }`
[INFO] [stdout] 4b1ec1844fb1cd4d7a58f077fb86310ecccce0310824064a7236481b6cef081d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a19aa929a7aad686a7b1993c208d6131abdd01fdf72c87c5887d3a398dbfe40
[INFO] running `Command { std: "docker" "start" "-a" "2a19aa929a7aad686a7b1993c208d6131abdd01fdf72c87c5887d3a398dbfe40", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling odds v0.2.26
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling arrayvec v0.3.25
[INFO] [stderr]    Compiling secp256k1-test v0.7.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stdout]   --> build.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/secp256k1.c:15:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/group_impl.h:219:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:   219 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: secp256k1-test@0.7.2:                  from depend/secp256k1/src/secp256k1.c:13:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/field_10x26_impl.h:44:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:    44 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout] 61  | impl_raw_debug!(PublicKey);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:80:1
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl_raw_debug!(Signature);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:86:1
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl_raw_debug!(RecoverableSignature);
[INFO] [stdout]     | ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl_raw_debug!(SharedSecret);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:241:34
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:250:34
[INFO] [stdout]     |
[INFO] [stdout] 250 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:301:45
[INFO] [stdout]     |
[INFO] [stdout] 301 |                         let read_ch = match try!(a.next_element()) {
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:308:55
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:235:40
[INFO] [stdout]     |
[INFO] [stdout] 235 |                         ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:240:55
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:547:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:232:81
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:421:35
[INFO] [stdout]     |
[INFO] [stdout] 421 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:99:58
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/ffi.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:239:87
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:248:85
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:297:87
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:426:32
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/lib.rs:232:76
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                            |
[INFO] [stdout]     |                                                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Message` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/lib.rs:371:20
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:92:42
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:99:53
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/ffi.rs:112:45
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a static
[INFO] [stdout]    --> src/ffi.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub static secp256k1_nonce_function_rfc6979: NonceFn;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:33:9
[INFO] [stdout]     |
[INFO] [stdout] 33  | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a static
[INFO] [stdout]    --> src/ffi.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub static secp256k1_nonce_function_default: NonceFn;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn secp256k1_context_create(flags: c_uint) -> *mut Context;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn secp256k1_context_clone(cx: *mut Context) -> *mut Context;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn secp256k1_context_destroy(cx: *mut Context);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stdout] 128 | |                                        seed32: *const c_uchar)
[INFO] [stdout] 129 | |                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 140 | |                                      input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 141 | |                                      -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 144 | |                                          out_len: *mut size_t, pk: *const PublicKey
[INFO] [stdout] 145 | | ,                                        compressed: c_uint)
[INFO] [stdout] 146 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 150 | |                                                input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 151 | |                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | /     pub fn secp256k1_ecdsa_signature_parse_compact(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 154 | |                                                    input64: *const c_uchar)
[INFO] [stdout] 155 | |                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 158 | |                                          input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 159 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 162 | |                                                    out_len: *mut size_t, sig: *const Signature)
[INFO] [stdout] 163 | |                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     pub fn secp256k1_ecdsa_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 166 | |                                                        sig: *const Signature)
[INFO] [stdout] 167 | |                                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 170 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stdout] 171 | |                                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 174 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stdout] 175 | |                                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 178 | |                                                          input: *const RecoverableSignature) 
[INFO] [stdout] 179 | |                                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 182 | |                                                in_sig: *const Signature)
[INFO] [stdout] 183 | |                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 187 | |                                   sig: *const Signature,
[INFO] [stdout] 188 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 189 | |                                   pk: *const PublicKey)
[INFO] [stdout] 190 | |                                   -> c_int;
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 193 | |                                 sig: *mut Signature,
[INFO] [stdout] 194 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 195 | |                                 sk: *const c_uchar,
[INFO] [stdout] 196 | |                                 noncefn: NonceFn,
[INFO] [stdout] 197 | |                                 noncedata: *const c_void)
[INFO] [stdout] 198 | |                                 -> c_int;
[INFO] [stdout]     | |________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stdout] 201 | |                                             sig: *mut RecoverableSignature,
[INFO] [stdout] 202 | |                                             msg32: *const c_uchar,
[INFO] [stdout] 203 | |                                             sk: *const c_uchar,
[INFO] [stdout] 204 | |                                             noncefn: NonceFn,
[INFO] [stdout] 205 | |                                             noncedata: *const c_void)
[INFO] [stdout] 206 | |                                             -> c_int;
[INFO] [stdout]     | |____________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stdout] 209 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 210 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 211 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 212 | |                                    -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 216 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 217 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 218 | |                                   sk: *const c_uchar,
[INFO] [stdout] 219 | |                                   noncefn: NonceFn,
[INFO] [stdout] 220 | |                                   noncedata: *const c_void)
[INFO] [stdout] 221 | |                                   -> c_int;
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stdout] 224 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 225 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 226 | |                                     pk: *const PublicKey)
[INFO] [stdout] 227 | |                                     -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 230 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 231 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 232 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 233 | |                                      -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 237 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 240 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 246 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 247 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 248 | |                                           -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 251 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 252 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 253 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 256 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 257 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 258 | |                                           -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 261 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 262 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 263 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 266 | |                                        out: *mut PublicKey,
[INFO] [stdout] 267 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 268 | |                                        n: c_int)
[INFO] [stdout] 269 | |                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 272 | |                           out: *mut SharedSecret,
[INFO] [stdout] 273 | |                           point: *const PublicKey,
[INFO] [stdout] 274 | |                           scalar: *const c_uchar)
[INFO] [stdout] 275 | |                           -> c_int;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `SecretKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/key.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct SecretKey([u8; constants::SECRET_KEY_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:239:82
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 33]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:248:80
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                |
[INFO] [stdout]     |                                                                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:297:82
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 132 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.19s
[INFO] running `Command { std: "docker" "inspect" "2a19aa929a7aad686a7b1993c208d6131abdd01fdf72c87c5887d3a398dbfe40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a19aa929a7aad686a7b1993c208d6131abdd01fdf72c87c5887d3a398dbfe40", kill_on_drop: false }`
[INFO] [stdout] 2a19aa929a7aad686a7b1993c208d6131abdd01fdf72c87c5887d3a398dbfe40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3b0c31c45850a21a4757c47c559e4e57f6d5ad090e8d5f2fb8e78d9c74baa93e
[INFO] running `Command { std: "docker" "start" "-a" "3b0c31c45850a21a4757c47c559e4e57f6d5ad090e8d5f2fb8e78d9c74baa93e", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stdout]   --> build.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]   --> build.rs:27:40
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/secp256k1.c:15:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/group_impl.h:219:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:   219 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: secp256k1-test@0.7.2:                  from depend/secp256k1/src/secp256k1.c:13:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/field_10x26_impl.h:44:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:    44 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout] 61  | impl_raw_debug!(PublicKey);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:80:1
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl_raw_debug!(Signature);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:86:1
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl_raw_debug!(RecoverableSignature);
[INFO] [stdout]     | ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl_raw_debug!(SharedSecret);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:241:34
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:250:34
[INFO] [stdout]     |
[INFO] [stdout] 250 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:301:45
[INFO] [stdout]     |
[INFO] [stdout] 301 |                         let read_ch = match try!(a.next_element()) {
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:308:55
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:235:40
[INFO] [stdout]     |
[INFO] [stdout] 235 |                         ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:240:55
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:547:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:232:81
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:421:35
[INFO] [stdout]     |
[INFO] [stdout] 421 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:99:58
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/ffi.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:239:87
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:248:85
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:297:87
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:426:32
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/lib.rs:232:76
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                            |
[INFO] [stdout]     |                                                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Message` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/lib.rs:371:20
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:92:42
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:99:53
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/ffi.rs:112:45
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a static
[INFO] [stdout]    --> src/ffi.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub static secp256k1_nonce_function_rfc6979: NonceFn;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:33:9
[INFO] [stdout]     |
[INFO] [stdout] 33  | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a static
[INFO] [stdout]    --> src/ffi.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub static secp256k1_nonce_function_default: NonceFn;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn secp256k1_context_create(flags: c_uint) -> *mut Context;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn secp256k1_context_clone(cx: *mut Context) -> *mut Context;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn secp256k1_context_destroy(cx: *mut Context);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stdout] 128 | |                                        seed32: *const c_uchar)
[INFO] [stdout] 129 | |                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 140 | |                                      input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 141 | |                                      -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 144 | |                                          out_len: *mut size_t, pk: *const PublicKey
[INFO] [stdout] 145 | | ,                                        compressed: c_uint)
[INFO] [stdout] 146 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 150 | |                                                input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 151 | |                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | /     pub fn secp256k1_ecdsa_signature_parse_compact(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 154 | |                                                    input64: *const c_uchar)
[INFO] [stdout] 155 | |                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 158 | |                                          input: *const c_uchar, in_len: size_t)
[INFO] [stdout] 159 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 162 | |                                                    out_len: *mut size_t, sig: *const Signature)
[INFO] [stdout] 163 | |                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     pub fn secp256k1_ecdsa_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 166 | |                                                        sig: *const Signature)
[INFO] [stdout] 167 | |                                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 170 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stdout] 171 | |                                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 174 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stdout] 175 | |                                                                    -> c_int;
[INFO] [stdout]     | |___________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 178 | |                                                          input: *const RecoverableSignature) 
[INFO] [stdout] 179 | |                                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 182 | |                                                in_sig: *const Signature)
[INFO] [stdout] 183 | |                                                -> c_int;
[INFO] [stdout]     | |_______________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 187 | |                                   sig: *const Signature,
[INFO] [stdout] 188 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 189 | |                                   pk: *const PublicKey)
[INFO] [stdout] 190 | |                                   -> c_int;
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 193 | |                                 sig: *mut Signature,
[INFO] [stdout] 194 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 195 | |                                 sk: *const c_uchar,
[INFO] [stdout] 196 | |                                 noncefn: NonceFn,
[INFO] [stdout] 197 | |                                 noncedata: *const c_void)
[INFO] [stdout] 198 | |                                 -> c_int;
[INFO] [stdout]     | |________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stdout] 201 | |                                             sig: *mut RecoverableSignature,
[INFO] [stdout] 202 | |                                             msg32: *const c_uchar,
[INFO] [stdout] 203 | |                                             sk: *const c_uchar,
[INFO] [stdout] 204 | |                                             noncefn: NonceFn,
[INFO] [stdout] 205 | |                                             noncedata: *const c_void)
[INFO] [stdout] 206 | |                                             -> c_int;
[INFO] [stdout]     | |____________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stdout] 209 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 210 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 211 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 212 | |                                    -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 216 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 217 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 218 | |                                   sk: *const c_uchar,
[INFO] [stdout] 219 | |                                   noncefn: NonceFn,
[INFO] [stdout] 220 | |                                   noncedata: *const c_void)
[INFO] [stdout] 221 | |                                   -> c_int;
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stdout] 224 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 225 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 226 | |                                     pk: *const PublicKey)
[INFO] [stdout] 227 | |                                     -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 230 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 231 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 232 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 233 | |                                      -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 237 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 240 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 246 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 247 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 248 | |                                           -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 251 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 252 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 253 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 256 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 257 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 258 | |                                           -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 261 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 262 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 263 | |                                          -> c_int;
[INFO] [stdout]     | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 266 | |                                        out: *mut PublicKey,
[INFO] [stdout] 267 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 268 | |                                        n: c_int)
[INFO] [stdout] 269 | |                                        -> c_int;
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 272 | |                           out: *mut SharedSecret,
[INFO] [stdout] 273 | |                           point: *const PublicKey,
[INFO] [stdout] 274 | |                           scalar: *const c_uchar)
[INFO] [stdout] 275 | |                           -> c_int;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `SecretKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/key.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct SecretKey([u8; constants::SECRET_KEY_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:239:82
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 33]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:248:80
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                |
[INFO] [stdout]     |                                                                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:297:82
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling secp256k1-test v0.7.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 132 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout] 61  | impl_raw_debug!(PublicKey);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:80:1
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl_raw_debug!(Signature);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:86:1
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl_raw_debug!(RecoverableSignature);
[INFO] [stdout]     | ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl_raw_debug!(SharedSecret);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:241:34
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:250:34
[INFO] [stdout]     |
[INFO] [stdout] 250 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:301:45
[INFO] [stdout]     |
[INFO] [stdout] 301 |                         let read_ch = match try!(a.next_element()) {
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/key.rs:308:55
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:235:40
[INFO] [stdout]     |
[INFO] [stdout] 235 |                         ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:240:55
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:168:48
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:173:63
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | impl_pretty_debug!(Message);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:547:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:232:81
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:421:35
[INFO] [stdout]     |
[INFO] [stdout] 421 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/ffi.rs:99:58
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:60:48
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/ffi.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:239:87
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:248:85
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/key.rs:297:87
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:129:61
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:166:61
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:426:32
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/lib.rs:232:76
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                            |
[INFO] [stdout]     |                                                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Message` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/lib.rs:371:20
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ffi.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]    | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stdout]     | ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:92:42
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          this code causes undefined behavior when executed
[INFO] [stdout]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stdout]   --> src/ffi.rs:99:53
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/ffi.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:60:43
[INFO] [stdout]     |
[INFO] [stdout] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/ffi.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stdout]    --> src/ffi.rs:112:45
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/ffi.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `SecretKey` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/key.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct SecretKey([u8; constants::SECRET_KEY_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:239:82
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 33]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:248:80
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                |
[INFO] [stdout]     |                                                                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stdout]    --> src/key.rs:297:82
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:129:56
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:166:56
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 100 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] running `Command { std: "docker" "inspect" "3b0c31c45850a21a4757c47c559e4e57f6d5ad090e8d5f2fb8e78d9c74baa93e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b0c31c45850a21a4757c47c559e4e57f6d5ad090e8d5f2fb8e78d9c74baa93e", kill_on_drop: false }`
[INFO] [stdout] 3b0c31c45850a21a4757c47c559e4e57f6d5ad090e8d5f2fb8e78d9c74baa93e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 61f3e5e3dba85c44d62f94c274944d1ab133f748a9e991b8d3451406e8e43778
[INFO] running `Command { std: "docker" "start" "-a" "61f3e5e3dba85c44d62f94c274944d1ab133f748a9e991b8d3451406e8e43778", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stderr]   --> build.rs:27:32
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stderr]    |                                ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stderr]   --> build.rs:27:40
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let mut base_config = gcc::Config::new();
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `secp256k1-test` (build script) generated 2 warnings
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/secp256k1.c:15:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/group_impl.h:219:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:   219 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: secp256k1-test@0.7.2: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: secp256k1-test@0.7.2:                  from depend/secp256k1/src/secp256k1.c:13:
[INFO] [stderr] warning: secp256k1-test@0.7.2: depend/secp256k1/src/field_10x26_impl.h:44:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: secp256k1-test@0.7.2:    44 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: secp256k1-test@0.7.2:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:61:1
[INFO] [stderr]     |
[INFO] [stderr] 61  | impl_raw_debug!(PublicKey);
[INFO] [stderr]     | -------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:80:1
[INFO] [stderr]     |
[INFO] [stderr] 80  | impl_raw_debug!(Signature);
[INFO] [stderr]     | -------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:86:1
[INFO] [stderr]     |
[INFO] [stderr] 86  | impl_raw_debug!(RecoverableSignature);
[INFO] [stderr]     | ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | impl_raw_debug!(SharedSecret);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_raw_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:205:17
[INFO] [stderr]     |
[INFO] [stderr] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:207:21
[INFO] [stderr]     |
[INFO] [stderr] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_pretty_debug!(SecretKey);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/key.rs:241:34
[INFO] [stderr]     |
[INFO] [stderr] 241 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/key.rs:250:34
[INFO] [stderr]     |
[INFO] [stderr] 250 |                         ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/key.rs:301:45
[INFO] [stderr]     |
[INFO] [stderr] 301 |                         let read_ch = match try!(a.next_element()) {
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/key.rs:308:55
[INFO] [stderr]     |
[INFO] [stderr] 308 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:205:17
[INFO] [stderr]     |
[INFO] [stderr] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:33:1
[INFO] [stderr]     |
[INFO] [stderr] 33  | impl_pretty_debug!(Signature);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:207:21
[INFO] [stderr]     |
[INFO] [stderr] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:33:1
[INFO] [stderr]     |
[INFO] [stderr] 33  | impl_pretty_debug!(Signature);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:235:40
[INFO] [stderr]     |
[INFO] [stderr] 235 |                         ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:240:55
[INFO] [stderr]     |
[INFO] [stderr] 240 |                     let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:131:42
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   ret[i] = try!(d.read_seq_elt(i, |d| Decodable::decode(d)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:168:48
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   ret[i] = match try!(a.next_element()) {
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:173:63
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   let one_after_last : Option<u8> = try!(a.next_element());
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:205:17
[INFO] [stderr]     |
[INFO] [stderr] 205 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:373:1
[INFO] [stderr]     |
[INFO] [stderr] 373 | impl_pretty_debug!(Message);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:207:21
[INFO] [stderr]     |
[INFO] [stderr] 207 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:373:1
[INFO] [stderr]     |
[INFO] [stderr] 373 | impl_pretty_debug!(Message);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:547:18
[INFO] [stderr]     |
[INFO] [stderr] 547 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:232:81
[INFO] [stderr]     |
[INFO] [stderr] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:60:48
[INFO] [stderr]     |
[INFO] [stderr] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/lib.rs:421:35
[INFO] [stderr]     |
[INFO] [stderr] 421 |         f.write_str(error::Error::description(self))
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/macros.rs:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:60:1
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]    | ------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/ffi.rs:67:47
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/macros.rs:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:79:1
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]    | ------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/macros.rs:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:85:1
[INFO] [stderr]    |
[INFO] [stderr] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]    | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/ffi.rs:92:47
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/ffi.rs:99:58
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:60:48
[INFO] [stderr]     |
[INFO] [stderr] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/ffi.rs:112:50
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/macros.rs:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/key.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/key.rs:239:87
[INFO] [stderr]     |
[INFO] [stderr] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/key.rs:248:85
[INFO] [stderr]     |
[INFO] [stderr] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/key.rs:297:87
[INFO] [stderr]     |
[INFO] [stderr] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/macros.rs:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/schnorr.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:129:61
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/macros.rs:166:61
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/schnorr.rs:57:48
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:426:32
[INFO] [stderr]     |
[INFO] [stderr] 426 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stderr]     |                                ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 426 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/lib.rs:232:76
[INFO] [stderr]     |
[INFO] [stderr] 232 |                     let mut ret: [u8; constants::COMPACT_SIGNATURE_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                                            |
[INFO] [stderr]     |                                                                            this code causes undefined behavior when executed
[INFO] [stderr]     |                                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `Message` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:60:43
[INFO] [stderr]     |
[INFO] [stderr] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/lib.rs:371:20
[INFO] [stderr]     |
[INFO] [stderr] 371 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stderr]   --> src/macros.rs:60:43
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:60:1
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]    | ------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:59:22
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::PublicKey` does not permit being left uninitialized
[INFO] [stderr]   --> src/ffi.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub unsafe fn blank() -> PublicKey { mem::uninitialized() }
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          this code causes undefined behavior when executed
[INFO] [stderr]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:59:22
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct PublicKey([c_uchar; 64]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/macros.rs:60:43
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:79:1
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]    | ------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:78:22
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:79:1
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl_array_newtype!(Signature, c_uchar, 64);
[INFO] [stderr]     | ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stderr]   --> src/macros.rs:60:43
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ffi.rs:85:1
[INFO] [stderr]    |
[INFO] [stderr] 85 | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]    | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:84:33
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr] 85  | impl_array_newtype!(RecoverableSignature, c_uchar, 65);
[INFO] [stderr]     | ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/ffi.rs:92:42
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub unsafe fn blank() -> Signature { mem::uninitialized() }
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          this code causes undefined behavior when executed
[INFO] [stderr]    |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:78:22
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct Signature([c_uchar; 64]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::RecoverableSignature` does not permit being left uninitialized
[INFO] [stderr]   --> src/ffi.rs:99:53
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub unsafe fn blank() -> RecoverableSignature { mem::uninitialized() }
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     this code causes undefined behavior when executed
[INFO] [stderr]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/ffi.rs:84:33
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct RecoverableSignature([c_uchar; 65]);
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:60:43
[INFO] [stderr]     |
[INFO] [stderr] 60  |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/ffi.rs:104:25
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/ffi.rs:105:1
[INFO] [stderr]     |
[INFO] [stderr] 105 | impl_array_newtype!(SharedSecret, c_uchar, 32);
[INFO] [stderr]     | ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `ffi::SharedSecret` does not permit being left uninitialized
[INFO] [stderr]    --> src/ffi.rs:112:45
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             this code causes undefined behavior when executed
[INFO] [stderr]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]    --> src/ffi.rs:104:25
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub struct SharedSecret([c_uchar; 32]);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a static
[INFO] [stderr]    --> src/ffi.rs:116:5
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub static secp256k1_nonce_function_rfc6979: NonceFn;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:33:9
[INFO] [stderr]     |
[INFO] [stderr] 33  | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a static
[INFO] [stderr]    --> src/ffi.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub static secp256k1_nonce_function_default: NonceFn;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 |     pub fn secp256k1_context_create(flags: c_uint) -> *mut Context;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn secp256k1_context_clone(cx: *mut Context) -> *mut Context;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn secp256k1_context_destroy(cx: *mut Context);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stderr] 128 | |                                        seed32: *const c_uchar)
[INFO] [stderr] 129 | |                                        -> c_int;
[INFO] [stderr]     | |_______________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:139:5
[INFO] [stderr]     |
[INFO] [stderr] 139 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stderr] 140 | |                                      input: *const c_uchar, in_len: size_t)
[INFO] [stderr] 141 | |                                      -> c_int;
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stderr] 144 | |                                          out_len: *mut size_t, pk: *const PublicKey
[INFO] [stderr] 145 | | ,                                        compressed: c_uint)
[INFO] [stderr] 146 | |                                          -> c_int;
[INFO] [stderr]     | |_________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 150 | |                                                input: *const c_uchar, in_len: size_t)
[INFO] [stderr] 151 | |                                                -> c_int;
[INFO] [stderr]     | |_______________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 | /     pub fn secp256k1_ecdsa_signature_parse_compact(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 154 | |                                                    input64: *const c_uchar)
[INFO] [stderr] 155 | |                                                    -> c_int;
[INFO] [stderr]     | |___________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:157:5
[INFO] [stderr]     |
[INFO] [stderr] 157 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 158 | |                                          input: *const c_uchar, in_len: size_t)
[INFO] [stderr] 159 | |                                          -> c_int;
[INFO] [stderr]     | |_________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 161 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stderr] 162 | |                                                    out_len: *mut size_t, sig: *const Signature)
[INFO] [stderr] 163 | |                                                    -> c_int;
[INFO] [stderr]     | |___________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:165:5
[INFO] [stderr]     |
[INFO] [stderr] 165 | /     pub fn secp256k1_ecdsa_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stderr] 166 | |                                                        sig: *const Signature)
[INFO] [stderr] 167 | |                                                        -> c_int;
[INFO] [stderr]     | |_______________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 169 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stderr] 170 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stderr] 171 | |                                                                -> c_int;
[INFO] [stderr]     | |_______________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:173:5
[INFO] [stderr]     |
[INFO] [stderr] 173 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stderr] 174 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stderr] 175 | |                                                                    -> c_int;
[INFO] [stderr]     | |___________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:177:5
[INFO] [stderr]     |
[INFO] [stderr] 177 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 178 | |                                                          input: *const RecoverableSignature) 
[INFO] [stderr] 179 | |                                                          -> c_int;
[INFO] [stderr]     | |_________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:181:5
[INFO] [stderr]     |
[INFO] [stderr] 181 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stderr] 182 | |                                                in_sig: *const Signature)
[INFO] [stderr] 183 | |                                                -> c_int;
[INFO] [stderr]     | |_______________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stderr] 187 | |                                   sig: *const Signature,
[INFO] [stderr] 188 | |                                   msg32: *const c_uchar,
[INFO] [stderr] 189 | |                                   pk: *const PublicKey)
[INFO] [stderr] 190 | |                                   -> c_int;
[INFO] [stderr]     | |__________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:192:5
[INFO] [stderr]     |
[INFO] [stderr] 192 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stderr] 193 | |                                 sig: *mut Signature,
[INFO] [stderr] 194 | |                                 msg32: *const c_uchar,
[INFO] [stderr] 195 | |                                 sk: *const c_uchar,
[INFO] [stderr] 196 | |                                 noncefn: NonceFn,
[INFO] [stderr] 197 | |                                 noncedata: *const c_void)
[INFO] [stderr] 198 | |                                 -> c_int;
[INFO] [stderr]     | |________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:200:5
[INFO] [stderr]     |
[INFO] [stderr] 200 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stderr] 201 | |                                             sig: *mut RecoverableSignature,
[INFO] [stderr] 202 | |                                             msg32: *const c_uchar,
[INFO] [stderr] 203 | |                                             sk: *const c_uchar,
[INFO] [stderr] 204 | |                                             noncefn: NonceFn,
[INFO] [stderr] 205 | |                                             noncedata: *const c_void)
[INFO] [stderr] 206 | |                                             -> c_int;
[INFO] [stderr]     | |____________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:208:5
[INFO] [stderr]     |
[INFO] [stderr] 208 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stderr] 209 | |                                    pk: *mut PublicKey,
[INFO] [stderr] 210 | |                                    sig: *const RecoverableSignature,
[INFO] [stderr] 211 | |                                    msg32: *const c_uchar)
[INFO] [stderr] 212 | |                                    -> c_int;
[INFO] [stderr]     | |___________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:215:5
[INFO] [stderr]     |
[INFO] [stderr] 215 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stderr] 216 | |                                   sig64: *mut c_uchar,
[INFO] [stderr] 217 | |                                   msg32: *const c_uchar,
[INFO] [stderr] 218 | |                                   sk: *const c_uchar,
[INFO] [stderr] 219 | |                                   noncefn: NonceFn,
[INFO] [stderr] 220 | |                                   noncedata: *const c_void)
[INFO] [stderr] 221 | |                                   -> c_int;
[INFO] [stderr]     | |__________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 223 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stderr] 224 | |                                     sig64: *const c_uchar,
[INFO] [stderr] 225 | |                                     msg32: *const c_uchar,
[INFO] [stderr] 226 | |                                     pk: *const PublicKey)
[INFO] [stderr] 227 | |                                     -> c_int;
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:229:5
[INFO] [stderr]     |
[INFO] [stderr] 229 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stderr] 230 | |                                      pk: *mut PublicKey,
[INFO] [stderr] 231 | |                                      sig64: *const c_uchar,
[INFO] [stderr] 232 | |                                      msg32: *const c_uchar)
[INFO] [stderr] 233 | |                                      -> c_int;
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:236:5
[INFO] [stderr]     |
[INFO] [stderr] 236 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stderr] 237 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stderr]     | |__________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:239:5
[INFO] [stderr]     |
[INFO] [stderr] 239 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stderr] 240 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stderr]     | |__________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:245:5
[INFO] [stderr]     |
[INFO] [stderr] 245 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stderr] 246 | |                                           sk: *mut c_uchar,
[INFO] [stderr] 247 | |                                           tweak: *const c_uchar)
[INFO] [stderr] 248 | |                                           -> c_int;
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 250 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stderr] 251 | |                                          pk: *mut PublicKey,
[INFO] [stderr] 252 | |                                          tweak: *const c_uchar)
[INFO] [stderr] 253 | |                                          -> c_int;
[INFO] [stderr]     | |_________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:255:5
[INFO] [stderr]     |
[INFO] [stderr] 255 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stderr] 256 | |                                           sk: *mut c_uchar,
[INFO] [stderr] 257 | |                                           tweak: *const c_uchar)
[INFO] [stderr] 258 | |                                           -> c_int;
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:260:5
[INFO] [stderr]     |
[INFO] [stderr] 260 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stderr] 261 | |                                          pk: *mut PublicKey,
[INFO] [stderr] 262 | |                                          tweak: *const c_uchar)
[INFO] [stderr] 263 | |                                          -> c_int;
[INFO] [stderr]     | |_________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:265:5
[INFO] [stderr]     |
[INFO] [stderr] 265 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stderr] 266 | |                                        out: *mut PublicKey,
[INFO] [stderr] 267 | |                                        ins: *const *const PublicKey,
[INFO] [stderr] 268 | |                                        n: c_int)
[INFO] [stderr] 269 | |                                        -> c_int;
[INFO] [stderr]     | |_______________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:271:5
[INFO] [stderr]     |
[INFO] [stderr] 271 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stderr] 272 | |                           out: *mut SharedSecret,
[INFO] [stderr] 273 | |                           point: *const PublicKey,
[INFO] [stderr] 274 | |                           scalar: *const c_uchar)
[INFO] [stderr] 275 | |                           -> c_int;
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `SecretKey` does not permit being left uninitialized
[INFO] [stderr]   --> src/macros.rs:60:43
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/key.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]    | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/key.rs:30:22
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct SecretKey([u8; constants::SECRET_KEY_SIZE]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr] 31  | impl_array_newtype!(SecretKey, u8, constants::SECRET_KEY_SIZE);
[INFO] [stderr]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stderr]    --> src/key.rs:239:82
[INFO] [stderr]     |
[INFO] [stderr] 239 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                                                  |
[INFO] [stderr]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 33]` does not permit being left uninitialized
[INFO] [stderr]    --> src/key.rs:248:80
[INFO] [stderr]     |
[INFO] [stderr] 248 |                     let mut ret: [u8; constants::COMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                                                |
[INFO] [stderr]     |                                                                                this code causes undefined behavior when executed
[INFO] [stderr]     |                                                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 65]` does not permit being left uninitialized
[INFO] [stderr]    --> src/key.rs:297:82
[INFO] [stderr]     |
[INFO] [stderr] 297 |                     let mut ret: [u8; constants::UNCOMPRESSED_PUBLIC_KEY_SIZE] = mem::uninitialized();
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                                                  |
[INFO] [stderr]     |                                                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/macros.rs:60:43
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/schnorr.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/schnorr.rs:31:22
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:129:56
[INFO] [stderr]     |
[INFO] [stderr] 129 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stderr]    --> src/macros.rs:166:56
[INFO] [stderr]     |
[INFO] [stderr] 166 | ...                   let mut ret: [$ty; $len] = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stderr]     | --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/schnorr.rs:57:43
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           this code causes undefined behavior when executed
[INFO] [stderr]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr] note: integers must be initialized (in this struct field)
[INFO] [stderr]   --> src/schnorr.rs:31:22
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `secp256k1-test` (lib) generated 132 warnings (run `cargo fix --lib -p secp256k1-test` to apply 1 suggestion)
[INFO] [stderr] warning: `secp256k1-test` (lib test) generated 100 warnings (100 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/secp256k1_test-1dcc79e1a8f1061a)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test ecdh::tests::ecdh ... ok
[INFO] [stdout] test key::test::test_bad_deserialize ... ok
[INFO] [stdout] test key::test::test_bad_serde_deserialize ... ok
[INFO] [stdout] test key::test::pubkey_from_slice ... ok
[INFO] [stdout] test key::test::test_addition ... ok
[INFO] [stderr] thread 'key::test::keypair_slice_round_trip' panicked at library/core/src/panicking.rs:219:5:
[INFO] [stderr] unsafe precondition(s) violated: slice::get_unchecked_mut requires that the index is within the slice
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x55abce377b05 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stderr]    1:     0x55abce377b05 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x55abce377b05 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stderr]    3:     0x55abce377b05 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stderr]    4:     0x55abce39e49b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stderr]    5:     0x55abce39e49b - core::fmt::write::h8bcd80919a02be29
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stderr]    6:     0x55abce3753ef - std::io::Write::write_fmt::hed769ca6c29434ec
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stderr]    7:     0x55abce3778de - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stderr]    8:     0x55abce3778de - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stderr]    9:     0x55abce379309 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stderr]   10:     0x55abce37904d - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:298:9
[INFO] [stderr]   11:     0x55abce303b4a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stderr]   12:     0x55abce303b4a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stderr]   13:     0x55abce37990b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stderr]   14:     0x55abce37990b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stderr]   15:     0x55abce37964b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stderr]   16:     0x55abce377fc9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stderr]   17:     0x55abce3793b7 - rust_begin_unwind
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stderr]   18:     0x55abce2808d0 - core::panicking::panic_nounwind_fmt::runtime::h4b9f1774825d29a1
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:110:18
[INFO] [stderr]   19:     0x55abce2808d0 - core::panicking::panic_nounwind_fmt::h7f70629ab29f76f1
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:120:5
[INFO] [stderr]   20:     0x55abce280962 - core::panicking::panic_nounwind::hde0018e2d22904b7
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:219:5
[INFO] [stderr]   21:     0x55abce2a6288 - <usize as core::slice::index::SliceIndex<[T]>>::get_unchecked_mut::precondition_check::h3311d291e789b9c3
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ub_checks.rs:68:21
[INFO] [stderr]   22:     0x55abce2a623d - <usize as core::slice::index::SliceIndex<[T]>>::get_unchecked_mut::h87d6b55c533a4d37
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ub_checks.rs:75:17
[INFO] [stderr]   23:     0x55abce2a4d38 - core::slice::<impl [T]>::get_unchecked_mut::h7e24b3fa7da89b4d
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/slice/mod.rs:728:24
[INFO] [stderr]   24:     0x55abce2ae426 - arrayvec::ArrayVec<A>::pop::hb575f92794a9e8b8
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayvec-0.3.25/src/lib.rs:256:28
[INFO] [stderr]   25:     0x55abce2ae466 - arrayvec::ArrayVec<A>::clear::h6a4c31bfaae4e641
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayvec-0.3.25/src/lib.rs:309:29
[INFO] [stderr]   26:     0x55abce2ad70a - <arrayvec::ArrayVec<A> as core::ops::drop::Drop>::drop::h74b59e1d7a913f58
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/arrayvec-0.3.25/src/lib.rs:93:9
[INFO] [stderr]   27:     0x55abce285f43 - core::ptr::drop_in_place<arrayvec::ArrayVec<[u8; 72]>>::hfa22523c954444d0
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ptr/mod.rs:542:1
[INFO] [stderr]   28:     0x55abce28c0a6 - secp256k1_test::key::test::keypair_slice_round_trip::h4f65d50b6c9a332c
[INFO] [stderr]                                at /opt/rustwide/workdir/src/key.rs:384:9
[INFO] [stderr]   29:     0x55abce28bc57 - secp256k1_test::key::test::keypair_slice_round_trip::{{closure}}::h3ddf5be3b70ecfb2
[INFO] [stderr]                                at /opt/rustwide/workdir/src/key.rs:379:34
[INFO] [stderr]   30:     0x55abce285016 - core::ops::function::FnOnce::call_once::ha79a5e4954ac750b
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   31:     0x55abce30852b - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   32:     0x55abce30852b - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stderr]   33:     0x55abce307c31 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stderr]   34:     0x55abce307c31 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   35:     0x55abce307c31 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stderr]   36:     0x55abce307c31 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stderr]   37:     0x55abce307c31 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stderr]   38:     0x55abce307c31 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stderr]   39:     0x55abce307c31 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stderr]   40:     0x55abce2d05f4 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stderr]   41:     0x55abce2d05f4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stderr]   42:     0x55abce2d5022 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stderr]   43:     0x55abce2d5022 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   44:     0x55abce2d5022 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stderr]   45:     0x55abce2d5022 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stderr]   46:     0x55abce2d5022 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stderr]   47:     0x55abce2d5022 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stderr]   48:     0x55abce2d5022 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   49:     0x55abce37dc0b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stderr]   50:     0x55abce37dc0b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stderr]   51:     0x55abce37dc0b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stderr]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stderr]   52:     0x7fd9129b2ac3 - <unknown>
[INFO] [stderr]   53:     0x7fd912a43a04 - __clone
[INFO] [stderr]   54:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/secp256k1_test-1dcc79e1a8f1061a` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "61f3e5e3dba85c44d62f94c274944d1ab133f748a9e991b8d3451406e8e43778", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61f3e5e3dba85c44d62f94c274944d1ab133f748a9e991b8d3451406e8e43778", kill_on_drop: false }`
[INFO] [stdout] 61f3e5e3dba85c44d62f94c274944d1ab133f748a9e991b8d3451406e8e43778
