[INFO] fetching crate devp2p-secp256k1 0.5.6...
[INFO] testing devp2p-secp256k1-0.5.6 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate devp2p-secp256k1 0.5.6 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate devp2p-secp256k1 0.5.6
[INFO] finished tweaking crates.io crate devp2p-secp256k1 0.5.6
[INFO] tweaked toml for crates.io crate devp2p-secp256k1 0.5.6 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate devp2p-secp256k1 0.5.6 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 31 packages to latest compatible versions
[INFO] [stderr]       Adding arrayvec v0.3.25 (available: v0.7.6)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dirs v1.0.5
[INFO] [stderr]   Downloaded arrayvec v0.3.25
[INFO] [stderr]   Downloaded term v0.5.2
[INFO] [stderr]   Downloaded gcc v0.3.55
[INFO] [stderr]   Downloaded nodrop v0.1.14
[INFO] [stderr]   Downloaded rust-argon2 v0.8.3
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] [stderr]   Downloaded odds v0.2.26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 297292ecb8eb7e4d63dbc68f5c96dcfa8268b5cd64a0d8fdefc0bb223e729daf
[INFO] running `Command { std: "docker" "start" "-a" "297292ecb8eb7e4d63dbc68f5c96dcfa8268b5cd64a0d8fdefc0bb223e729daf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "297292ecb8eb7e4d63dbc68f5c96dcfa8268b5cd64a0d8fdefc0bb223e729daf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "297292ecb8eb7e4d63dbc68f5c96dcfa8268b5cd64a0d8fdefc0bb223e729daf", kill_on_drop: false }`
[INFO] [stdout] 297292ecb8eb7e4d63dbc68f5c96dcfa8268b5cd64a0d8fdefc0bb223e729daf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b6bb3fa08aaa45ff76f85de8d230c91e155c7080790cb8ea441d22efd241777e
[INFO] running `Command { std: "docker" "start" "-a" "b6bb3fa08aaa45ff76f85de8d230c91e155c7080790cb8ea441d22efd241777e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling odds v0.2.26
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling arrayvec v0.3.25
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling devp2p-secp256k1 v0.5.6 (/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:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn setup_android(config: &mut gcc::Config) {
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stdout]   --> build.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                ^^^^^^
[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:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/secp256k1.c:13,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/ext.c:8:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:636:12: warning: 'secp256k1_gej_has_quad_y_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   636 | static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:217:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/secp256k1.c:11:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/field_10x26_impl.h:42:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    42 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   154 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   156 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   175 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   171 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   216 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   234 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   235 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   253 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   254 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   255 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   265 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   266 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   279 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   300 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   299 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   301 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   353 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   352 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   354 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   396 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   411 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   414 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:433:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   433 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:434:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   434 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:457:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   457 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:458:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   458 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:480:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   480 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:481:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   481 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:503:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   503 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:504:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   504 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:532:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   532 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonces' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:535:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   535 |     ARG_CHECK(pubnonces != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h: In function 'secp256k1_ecdh':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'result' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:19:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    19 |     ARG_CHECK(result != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'point' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:20:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    20 |     ARG_CHECK(point != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'scalar' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:21:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    21 |     ARG_CHECK(scalar != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:31:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    31 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:30:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    30 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:32:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    32 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:67:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    67 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:78:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    78 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_generate_nonce_pair':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:102:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   102 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'privnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:103:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   103 |     ARG_CHECK(privnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:140:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   140 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:139:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   139 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sec32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:141:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   141 |     ARG_CHECK(sec32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce_others' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:143:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   143 |     ARG_CHECK(pubnonce_others != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'secnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:142:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   142 |     ARG_CHECK(secnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:158:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   158 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64sin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:160:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   160 |     ARG_CHECK(sig64sin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    44 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    45 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    64 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'recid' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(recid != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_convert':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_sign_recoverable':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   132 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   131 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   133 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   179 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   178 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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: `#[warn(deprecated)]` on by default
[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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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:452:18
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:60:48
[INFO] [stdout]     |
[INFO] [stdout]  60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:326:35
[INFO] [stdout]     |
[INFO] [stdout] 326 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[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: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/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: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/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/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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/key.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:65:48
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:331:32
[INFO] [stdout]     |
[INFO] [stdout] 331 |     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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[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:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:280:20
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` 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: 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 `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 `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 `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 `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 ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 154 | |                                          input: *const c_uchar, in_len: size_t)
[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 secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 158 | |                                                    out_len: *mut size_t, sig: *const Signature)
[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_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 162 | |                                                                input64: *const c_uchar, recid: c_int)
[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_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 166 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[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_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 170 | |                                                          input: *const RecoverableSignature) 
[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_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 174 | |                                                in_sig: *const Signature)
[INFO] [stdout] 175 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 179 | |                                   sig: *const Signature,
[INFO] [stdout] 180 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 181 | |                                   pk: *const PublicKey)
[INFO] [stdout] 182 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 185 | |                                 sig: *mut Signature,
[INFO] [stdout] 186 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 187 | |                                 sk: *const c_uchar,
[INFO] [stdout] 188 | |                                 noncefn: NonceFn,
[INFO] [stdout] 189 | |                                 noncedata: *const c_void)
[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_recoverable(cx: *const Context,
[INFO] [stdout] 193 | |                                             sig: *mut RecoverableSignature,
[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_recover(cx: *const Context,
[INFO] [stdout] 201 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 202 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 203 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 204 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 208 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 209 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 210 | |                                   sk: *const c_uchar,
[INFO] [stdout] 211 | |                                   noncefn: NonceFn,
[INFO] [stdout] 212 | |                                   noncedata: *const c_void)
[INFO] [stdout] 213 | |                                   -> 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_verify(cx: *const Context,
[INFO] [stdout] 216 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 217 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 218 | |                                     pk: *const PublicKey)
[INFO] [stdout] 219 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 222 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 223 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 224 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 225 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 229 | |                                       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:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 232 | |                                       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:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 238 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 239 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 240 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 243 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 244 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 245 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 248 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 249 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 250 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 253 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 254 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 255 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 258 | |                                        out: *mut PublicKey,
[INFO] [stdout] 259 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 260 | |                                        n: c_int)
[INFO] [stdout] 261 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 264 | |                           out: *mut SharedSecret,
[INFO] [stdout] 265 | |                           point: *const PublicKey,
[INFO] [stdout] 266 | |                           scalar: *const c_uchar)
[INFO] [stdout] 267 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 270 | |                           out: *mut SharedSecret,
[INFO] [stdout] 271 | |                           point: *const PublicKey,
[INFO] [stdout] 272 | |                           scalar: *const c_uchar)
[INFO] [stdout] 273 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 276 | |                           out: *mut c_uchar,
[INFO] [stdout] 277 | |                           scalar: *const c_uchar)
[INFO] [stdout] 278 | |                           -> 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:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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 `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:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:39:38
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:65:43
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.80s
[INFO] running `Command { std: "docker" "inspect" "b6bb3fa08aaa45ff76f85de8d230c91e155c7080790cb8ea441d22efd241777e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6bb3fa08aaa45ff76f85de8d230c91e155c7080790cb8ea441d22efd241777e", kill_on_drop: false }`
[INFO] [stdout] b6bb3fa08aaa45ff76f85de8d230c91e155c7080790cb8ea441d22efd241777e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 65a7a46e15b24ba86186600eb1cfdda84e0161eb8579be0069bbf1e1da6cf1ce
[INFO] running `Command { std: "docker" "start" "-a" "65a7a46e15b24ba86186600eb1cfdda84e0161eb8579be0069bbf1e1da6cf1ce", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stdout]   --> build.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn setup_android(config: &mut gcc::Config) {
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stdout]   --> build.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                ^^^^^^
[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:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/secp256k1.c:13,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/ext.c:8:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:636:12: warning: 'secp256k1_gej_has_quad_y_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   636 | static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:217:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/secp256k1.c:11:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/field_10x26_impl.h:42:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    42 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   154 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   156 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   175 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   171 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   216 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   234 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   235 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   253 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   254 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   255 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   265 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   266 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   279 |     ARG_CHECK(sigin != NULL);
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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: `#[warn(deprecated)]` on by default
[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] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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] [stderr] warning: devp2p-secp256k1@0.5.6:   300 |     ARG_CHECK(sig != NULL);
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:452:18
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
[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:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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] [stderr] warning: devp2p-secp256k1@0.5.6:   299 |     ARG_CHECK(msg32 != NULL);
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:326:35
[INFO] [stdout]     |
[INFO] [stdout] 326 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
[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] [stderr] warning: devp2p-secp256k1@0.5.6:   301 |     ARG_CHECK(pubkey != NULL);
[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] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[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] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   353 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   352 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   354 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   396 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   411 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   414 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:433:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   433 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:434:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   434 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:457:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   457 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:458:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   458 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:480:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   480 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:481:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   481 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:503:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   503 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:504:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   504 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:532:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   532 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonces' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:535:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   535 |     ARG_CHECK(pubnonces != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h: In function 'secp256k1_ecdh':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'result' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:19:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    19 |     ARG_CHECK(result != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'point' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:20:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    20 |     ARG_CHECK(point != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'scalar' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:21:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    21 |     ARG_CHECK(scalar != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:31:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    31 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:30:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    30 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:32:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    32 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:67:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    67 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:78:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    78 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_generate_nonce_pair':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:102:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   102 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'privnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:103:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   103 |     ARG_CHECK(privnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:140:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   140 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:139:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   139 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sec32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:141:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   141 |     ARG_CHECK(sec32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce_others' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:143:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   143 |     ARG_CHECK(pubnonce_others != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'secnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:142:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   142 |     ARG_CHECK(secnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:158:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   158 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64sin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:160:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   160 |     ARG_CHECK(sig64sin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    44 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    45 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    64 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'recid' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(recid != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_convert':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_sign_recoverable':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   132 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   131 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   133 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   179 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   178 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[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/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/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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/key.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:65:48
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:331:32
[INFO] [stdout]     |
[INFO] [stdout] 331 |     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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[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:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:280:20
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` 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: 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 `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 `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 `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 `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] [stderr]    Compiling devp2p-secp256k1 v0.5.6 (/opt/rustwide/workdir)
[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 ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 154 | |                                          input: *const c_uchar, in_len: size_t)
[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 secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 158 | |                                                    out_len: *mut size_t, sig: *const Signature)
[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_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 162 | |                                                                input64: *const c_uchar, recid: c_int)
[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_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 166 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[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_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 170 | |                                                          input: *const RecoverableSignature) 
[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_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 174 | |                                                in_sig: *const Signature)
[INFO] [stdout] 175 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 179 | |                                   sig: *const Signature,
[INFO] [stdout] 180 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 181 | |                                   pk: *const PublicKey)
[INFO] [stdout] 182 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 185 | |                                 sig: *mut Signature,
[INFO] [stdout] 186 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 187 | |                                 sk: *const c_uchar,
[INFO] [stdout] 188 | |                                 noncefn: NonceFn,
[INFO] [stdout] 189 | |                                 noncedata: *const c_void)
[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_recoverable(cx: *const Context,
[INFO] [stdout] 193 | |                                             sig: *mut RecoverableSignature,
[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_recover(cx: *const Context,
[INFO] [stdout] 201 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 202 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 203 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 204 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 208 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 209 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 210 | |                                   sk: *const c_uchar,
[INFO] [stdout] 211 | |                                   noncefn: NonceFn,
[INFO] [stdout] 212 | |                                   noncedata: *const c_void)
[INFO] [stdout] 213 | |                                   -> 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_verify(cx: *const Context,
[INFO] [stdout] 216 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 217 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 218 | |                                     pk: *const PublicKey)
[INFO] [stdout] 219 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 222 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 223 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 224 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 225 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 229 | |                                       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:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 232 | |                                       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:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 238 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 239 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 240 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 243 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 244 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 245 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 248 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 249 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 250 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 253 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 254 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 255 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 258 | |                                        out: *mut PublicKey,
[INFO] [stdout] 259 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 260 | |                                        n: c_int)
[INFO] [stdout] 261 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 264 | |                           out: *mut SharedSecret,
[INFO] [stdout] 265 | |                           point: *const PublicKey,
[INFO] [stdout] 266 | |                           scalar: *const c_uchar)
[INFO] [stdout] 267 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 270 | |                           out: *mut SharedSecret,
[INFO] [stdout] 271 | |                           point: *const PublicKey,
[INFO] [stdout] 272 | |                           scalar: *const c_uchar)
[INFO] [stdout] 273 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 276 | |                           out: *mut c_uchar,
[INFO] [stdout] 277 | |                           scalar: *const c_uchar)
[INFO] [stdout] 278 | |                           -> 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:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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 `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:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:39:38
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:65:43
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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: `#[warn(deprecated)]` on by default
[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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/key.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | 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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | 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:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:282:1
[INFO] [stdout]     |
[INFO] [stdout] 282 | 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:452:18
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:60:48
[INFO] [stdout]     |
[INFO] [stdout]  60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:326:35
[INFO] [stdout]     |
[INFO] [stdout] 326 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/macros.rs:58:42
[INFO] [stdout]     |
[INFO] [stdout]  58 |                     use std::intrinsics::copy_nonoverlapping;
[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: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/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: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/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/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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/key.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/key.rs:397:42
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/key.rs:486:31
[INFO] [stdout]     |
[INFO] [stdout] 486 |         use std::hash::{Hash, SipHasher, Hasher};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/key.rs:490:25
[INFO] [stdout]     |
[INFO] [stdout] 490 |             let mut s = SipHasher::new();
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:65:48
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:331:32
[INFO] [stdout]     |
[INFO] [stdout] 331 |     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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stdout]    --> src/key.rs:490:36
[INFO] [stdout]     |
[INFO] [stdout] 490 |             let mut s = SipHasher::new();
[INFO] [stdout]     |                                    ^^^
[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:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | 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:280:20
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` 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: 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 `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 `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 `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 `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 ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 154 | |                                          input: *const c_uchar, in_len: size_t)
[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 secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 158 | |                                                    out_len: *mut size_t, sig: *const Signature)
[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_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 162 | |                                                                input64: *const c_uchar, recid: c_int)
[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_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 166 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[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_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 170 | |                                                          input: *const RecoverableSignature) 
[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_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 174 | |                                                in_sig: *const Signature)
[INFO] [stdout] 175 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 179 | |                                   sig: *const Signature,
[INFO] [stdout] 180 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 181 | |                                   pk: *const PublicKey)
[INFO] [stdout] 182 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 185 | |                                 sig: *mut Signature,
[INFO] [stdout] 186 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 187 | |                                 sk: *const c_uchar,
[INFO] [stdout] 188 | |                                 noncefn: NonceFn,
[INFO] [stdout] 189 | |                                 noncedata: *const c_void)
[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_recoverable(cx: *const Context,
[INFO] [stdout] 193 | |                                             sig: *mut RecoverableSignature,
[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_recover(cx: *const Context,
[INFO] [stdout] 201 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 202 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 203 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 204 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 208 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 209 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 210 | |                                   sk: *const c_uchar,
[INFO] [stdout] 211 | |                                   noncefn: NonceFn,
[INFO] [stdout] 212 | |                                   noncedata: *const c_void)
[INFO] [stdout] 213 | |                                   -> 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_verify(cx: *const Context,
[INFO] [stdout] 216 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 217 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 218 | |                                     pk: *const PublicKey)
[INFO] [stdout] 219 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 222 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 223 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 224 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 225 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 229 | |                                       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:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 232 | |                                       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:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 238 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 239 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 240 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 243 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 244 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 245 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 248 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 249 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 250 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 253 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 254 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 255 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 258 | |                                        out: *mut PublicKey,
[INFO] [stdout] 259 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 260 | |                                        n: c_int)
[INFO] [stdout] 261 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 264 | |                           out: *mut SharedSecret,
[INFO] [stdout] 265 | |                           point: *const PublicKey,
[INFO] [stdout] 266 | |                           scalar: *const c_uchar)
[INFO] [stdout] 267 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 270 | |                           out: *mut SharedSecret,
[INFO] [stdout] 271 | |                           point: *const PublicKey,
[INFO] [stdout] 272 | |                           scalar: *const c_uchar)
[INFO] [stdout] 273 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 276 | |                           out: *mut c_uchar,
[INFO] [stdout] 277 | |                           scalar: *const c_uchar)
[INFO] [stdout] 278 | |                           -> 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:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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 `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:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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 `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:39:38
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut ret: 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/schnorr.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:65:43
[INFO] [stdout]    |
[INFO] [stdout] 65 |         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:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.07s
[INFO] running `Command { std: "docker" "inspect" "65a7a46e15b24ba86186600eb1cfdda84e0161eb8579be0069bbf1e1da6cf1ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65a7a46e15b24ba86186600eb1cfdda84e0161eb8579be0069bbf1e1da6cf1ce", kill_on_drop: false }`
[INFO] [stdout] 65a7a46e15b24ba86186600eb1cfdda84e0161eb8579be0069bbf1e1da6cf1ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f3a308d04bbcb42c2282e0e0723fb74b63465c692faa9ef13d56deab57004861
[INFO] running `Command { std: "docker" "start" "-a" "f3a308d04bbcb42c2282e0e0723fb74b63465c692faa9ef13d56deab57004861", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stderr]   --> build.rs:57:36
[INFO] [stderr]    |
[INFO] [stderr] 57 | fn setup_android(config: &mut gcc::Config) {
[INFO] [stderr]    |                                    ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `gcc::Config`: gcc::Config has been renamed to gcc::Build
[INFO] [stderr]   --> build.rs:72:29
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stderr]    |                                ^^^^^^
[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:72:37
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let mut base_config = gcc::Config::new();
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `devp2p-secp256k1` (build script) generated 3 warnings
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/secp256k1.c:13,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/ext.c:8:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:636:12: warning: 'secp256k1_gej_has_quad_y_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   636 | static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/group_impl.h:217:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: In file included from depend/secp256k1/src/field_impl.h:17,
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:                  from depend/secp256k1/src/secp256k1.c:11:
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/field_10x26_impl.h:42:13: warning: 'secp256k1_fe_verify' defined but not used [-Wunused-function]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    42 | static void secp256k1_fe_verify(const secp256k1_fe *a) {
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |             ^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   154 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   156 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   175 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   171 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   216 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   217 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   234 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   235 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   253 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   254 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   255 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   265 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   266 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   279 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   300 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   299 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   301 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   353 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   352 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   354 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   396 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   411 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   414 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:433:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   433 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:434:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   434 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:457:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   457 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:458:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   458 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:480:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   480 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:481:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   481 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:503:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   503 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:504:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   504 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:532:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   532 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonces' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:535:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   535 |     ARG_CHECK(pubnonces != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h: In function 'secp256k1_ecdh':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'result' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:19:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    19 |     ARG_CHECK(result != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'point' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:20:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    20 |     ARG_CHECK(point != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'scalar' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/ecdh/main_impl.h:21:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    21 |     ARG_CHECK(scalar != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:31:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    31 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:30:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    30 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:32:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    32 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_verify':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:67:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    67 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:78:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    78 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_generate_nonce_pair':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:102:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   102 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'privnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:103:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   103 |     ARG_CHECK(privnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_sign':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:140:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   140 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:139:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   139 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sec32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:141:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   141 |     ARG_CHECK(sec32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce_others' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:143:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   143 |     ARG_CHECK(pubnonce_others != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'secnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:142:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   142 |     ARG_CHECK(secnonce32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_combine':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:158:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   158 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64sin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/schnorr/main_impl.h:160:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   160 |     ARG_CHECK(sig64sin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    44 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    45 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    64 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'recid' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    66 |     ARG_CHECK(recid != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    65 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_convert':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    79 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    80 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_sign_recoverable':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   132 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   131 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   133 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recover':
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   179 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   178 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |        ^
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6: depend/secp256k1/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:   177 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: devp2p-secp256k1@0.5.6:       |     ^~~~~~~~~
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/macros.rs:140:21
[INFO] [stderr]     |
[INFO] [stderr] 140 |                     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: `#[warn(deprecated)]` on by default
[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:140:21
[INFO] [stderr]     |
[INFO] [stderr] 140 |                     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:140:21
[INFO] [stderr]     |
[INFO] [stderr] 140 |                     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:140:21
[INFO] [stderr]     |
[INFO] [stderr] 140 |                     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:125:17
[INFO] [stderr]     |
[INFO] [stderr] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | 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:127:21
[INFO] [stderr]     |
[INFO] [stderr] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/key.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | 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:125:17
[INFO] [stderr]     |
[INFO] [stderr] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr]  32 | 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:127:21
[INFO] [stderr]     |
[INFO] [stderr] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/schnorr.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr]  32 | 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:125:17
[INFO] [stderr]     |
[INFO] [stderr] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:282:1
[INFO] [stderr]     |
[INFO] [stderr] 282 | 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:127:21
[INFO] [stderr]     |
[INFO] [stderr] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:282:1
[INFO] [stderr]     |
[INFO] [stderr] 282 | 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:452:18
[INFO] [stderr]     |
[INFO] [stderr] 452 |         let pk = try!(key::PublicKey::from_secret_key(self, &sk));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]    --> src/macros.rs:58:42
[INFO] [stderr]     |
[INFO] [stderr]  58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:281:1
[INFO] [stderr]     |
[INFO] [stderr] 281 | 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:60:48
[INFO] [stderr]     |
[INFO] [stderr]  60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:281:1
[INFO] [stderr]     |
[INFO] [stderr] 281 | 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:326:35
[INFO] [stderr]     |
[INFO] [stderr] 326 |         f.write_str(error::Error::description(self))
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/macros.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/macros.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/macros.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     use std::intrinsics::copy_nonoverlapping;
[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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]    --> src/macros.rs:58:42
[INFO] [stderr]     |
[INFO] [stderr]  58 |                     use std::intrinsics::copy_nonoverlapping;
[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: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/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: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/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/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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/key.rs:18:22
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::intrinsics::copy_nonoverlapping;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/macros.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/key.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | 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:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/key.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | 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 module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/macros.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/schnorr.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | 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:60:48
[INFO] [stderr]    |
[INFO] [stderr] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/schnorr.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | 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:39:43
[INFO] [stderr]    |
[INFO] [stderr] 39 |             let mut ret: Signature = mem::uninitialized();
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/schnorr.rs:65:48
[INFO] [stderr]    |
[INFO] [stderr] 65 |         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:331:32
[INFO] [stderr]     |
[INFO] [stderr] 331 |     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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 331 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stderr]     |                                +++
[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:281:1
[INFO] [stderr]     |
[INFO] [stderr] 281 | 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:280:20
[INFO] [stderr]     |
[INFO] [stderr] 280 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(invalid_value)]` 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: 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 `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 `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 `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 `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 ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 154 | |                                          input: *const c_uchar, in_len: size_t)
[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 secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stderr] 158 | |                                                    out_len: *mut size_t, sig: *const Signature)
[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_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stderr] 162 | |                                                                input64: *const c_uchar, recid: c_int)
[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_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stderr] 166 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[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_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stderr] 170 | |                                                          input: *const RecoverableSignature) 
[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_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stderr] 174 | |                                                in_sig: *const Signature)
[INFO] [stderr] 175 | |                                                -> c_int;
[INFO] [stderr]     | |________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:178:5
[INFO] [stderr]     |
[INFO] [stderr] 178 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stderr] 179 | |                                   sig: *const Signature,
[INFO] [stderr] 180 | |                                   msg32: *const c_uchar,
[INFO] [stderr] 181 | |                                   pk: *const PublicKey)
[INFO] [stderr] 182 | |                                   -> c_int;
[INFO] [stderr]     | |___________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:184:5
[INFO] [stderr]     |
[INFO] [stderr] 184 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stderr] 185 | |                                 sig: *mut Signature,
[INFO] [stderr] 186 | |                                 msg32: *const c_uchar,
[INFO] [stderr] 187 | |                                 sk: *const c_uchar,
[INFO] [stderr] 188 | |                                 noncefn: NonceFn,
[INFO] [stderr] 189 | |                                 noncedata: *const c_void)
[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_recoverable(cx: *const Context,
[INFO] [stderr] 193 | |                                             sig: *mut RecoverableSignature,
[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_recover(cx: *const Context,
[INFO] [stderr] 201 | |                                    pk: *mut PublicKey,
[INFO] [stderr] 202 | |                                    sig: *const RecoverableSignature,
[INFO] [stderr] 203 | |                                    msg32: *const c_uchar)
[INFO] [stderr] 204 | |                                    -> c_int;
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:207:5
[INFO] [stderr]     |
[INFO] [stderr] 207 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stderr] 208 | |                                   sig64: *mut c_uchar,
[INFO] [stderr] 209 | |                                   msg32: *const c_uchar,
[INFO] [stderr] 210 | |                                   sk: *const c_uchar,
[INFO] [stderr] 211 | |                                   noncefn: NonceFn,
[INFO] [stderr] 212 | |                                   noncedata: *const c_void)
[INFO] [stderr] 213 | |                                   -> 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_verify(cx: *const Context,
[INFO] [stderr] 216 | |                                     sig64: *const c_uchar,
[INFO] [stderr] 217 | |                                     msg32: *const c_uchar,
[INFO] [stderr] 218 | |                                     pk: *const PublicKey)
[INFO] [stderr] 219 | |                                     -> c_int;
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:221:5
[INFO] [stderr]     |
[INFO] [stderr] 221 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stderr] 222 | |                                      pk: *mut PublicKey,
[INFO] [stderr] 223 | |                                      sig64: *const c_uchar,
[INFO] [stderr] 224 | |                                      msg32: *const c_uchar)
[INFO] [stderr] 225 | |                                      -> c_int;
[INFO] [stderr]     | |______________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:228:5
[INFO] [stderr]     |
[INFO] [stderr] 228 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stderr] 229 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stderr]     | |___________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:231:5
[INFO] [stderr]     |
[INFO] [stderr] 231 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stderr] 232 | |                                       sk: *const c_uchar) -> c_int;
[INFO] [stderr]     | |___________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:237:5
[INFO] [stderr]     |
[INFO] [stderr] 237 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stderr] 238 | |                                           sk: *mut c_uchar,
[INFO] [stderr] 239 | |                                           tweak: *const c_uchar)
[INFO] [stderr] 240 | |                                           -> c_int;
[INFO] [stderr]     | |___________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:242:5
[INFO] [stderr]     |
[INFO] [stderr] 242 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stderr] 243 | |                                          pk: *mut PublicKey,
[INFO] [stderr] 244 | |                                          tweak: *const c_uchar)
[INFO] [stderr] 245 | |                                          -> c_int;
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:247:5
[INFO] [stderr]     |
[INFO] [stderr] 247 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stderr] 248 | |                                           sk: *mut c_uchar,
[INFO] [stderr] 249 | |                                           tweak: *const c_uchar)
[INFO] [stderr] 250 | |                                           -> c_int;
[INFO] [stderr]     | |___________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:252:5
[INFO] [stderr]     |
[INFO] [stderr] 252 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stderr] 253 | |                                          pk: *mut PublicKey,
[INFO] [stderr] 254 | |                                          tweak: *const c_uchar)
[INFO] [stderr] 255 | |                                          -> c_int;
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:257:5
[INFO] [stderr]     |
[INFO] [stderr] 257 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stderr] 258 | |                                        out: *mut PublicKey,
[INFO] [stderr] 259 | |                                        ins: *const *const PublicKey,
[INFO] [stderr] 260 | |                                        n: c_int)
[INFO] [stderr] 261 | |                                        -> c_int;
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:263:5
[INFO] [stderr]     |
[INFO] [stderr] 263 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stderr] 264 | |                           out: *mut SharedSecret,
[INFO] [stderr] 265 | |                           point: *const PublicKey,
[INFO] [stderr] 266 | |                           scalar: *const c_uchar)
[INFO] [stderr] 267 | |                           -> c_int;
[INFO] [stderr]     | |___________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:269:5
[INFO] [stderr]     |
[INFO] [stderr] 269 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stderr] 270 | |                           out: *mut SharedSecret,
[INFO] [stderr] 271 | |                           point: *const PublicKey,
[INFO] [stderr] 272 | |                           scalar: *const c_uchar)
[INFO] [stderr] 273 | |                           -> c_int;
[INFO] [stderr]     | |___________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/ffi.rs:275:5
[INFO] [stderr]     |
[INFO] [stderr] 275 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stderr] 276 | |                           out: *mut c_uchar,
[INFO] [stderr] 277 | |                           scalar: *const c_uchar)
[INFO] [stderr] 278 | |                           -> 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:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | 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:29:22
[INFO] [stderr]    |
[INFO] [stderr] 29 | 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 `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:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | 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:30:22
[INFO] [stderr]    |
[INFO] [stderr] 30 | 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 `schnorr::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/schnorr.rs:39:38
[INFO] [stderr]    |
[INFO] [stderr] 39 |             let mut ret: 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/schnorr.rs:30:22
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stderr]   --> src/schnorr.rs:65:43
[INFO] [stderr]    |
[INFO] [stderr] 65 |         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:30:22
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]    --> src/key.rs:397:42
[INFO] [stderr]     |
[INFO] [stderr] 397 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stderr]    --> src/key.rs:486:31
[INFO] [stderr]     |
[INFO] [stderr] 486 |         use std::hash::{Hash, SipHasher, Hasher};
[INFO] [stderr]     |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead
[INFO] [stderr]    --> src/key.rs:490:25
[INFO] [stderr]     |
[INFO] [stderr] 490 |             let mut s = SipHasher::new();
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead
[INFO] [stderr]    --> src/key.rs:490:36
[INFO] [stderr]     |
[INFO] [stderr] 490 |             let mut s = SipHasher::new();
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `devp2p-secp256k1` (lib) generated 79 warnings (run `cargo fix --lib -p devp2p-secp256k1` to apply 1 suggestion)
[INFO] [stderr] warning: `devp2p-secp256k1` (lib test) generated 83 warnings (79 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/secp256k1-0ab417d4c8ee2ba4)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test ecdh::tests::ecdh ... ok
[INFO] [stdout] test key::test::pubkey_from_slice ... ok
[INFO] [stdout] test key::test::skey_from_slice ... ok
[INFO] [stdout] test key::test::test_pubkey_from_bad_slice ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'key::test::keypair_slice_round_trip' (28) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.3.25/src/lib.rs:256:33:
[INFO] [stderr] unsafe precondition(s) violated: slice::get_unchecked_mut requires that the index is within the slice
[INFO] [stderr] 
[INFO] [stderr] This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x58b554ea6332 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x58b554ea6332 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x58b554ea6332 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x58b554ea6332 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x58b554ebacfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x58b554ebacfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stderr]    6:     0x58b554eabf96 - std[716c9a7a72e5c14e]::io::default_write_fmt::<std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x58b554eabf96 - <std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stderr]    8:     0x58b554e847ff - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x58b554e847ff - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x58b554e9e5e1 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x58b554e2c46e - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   12:     0x58b554e2c46e - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x58b554e9e7d2 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   14:     0x58b554e9e7d2 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x58b554e848ea - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stderr]   16:     0x58b554e7c259 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x58b554e8570d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x58b554ebb1ed - core[c5ed12ab89cc536a]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x58b554ebb1ed - core[c5ed12ab89cc536a]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/intrinsics/mod.rs:2431:9
[INFO] [stderr]   20:     0x58b554decf24 - <usize as core[c5ed12ab89cc536a]::slice::index::SliceIndex<[_]>>::get_unchecked_mut::precondition_check
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ub_checks.rs:73:21
[INFO] [stderr]   21:     0x58b554ded319 - <usize as core[c5ed12ab89cc536a]::slice::index::SliceIndex<[u8]>>::get_unchecked_mut
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ub_checks.rs:78:17
[INFO] [stderr]   22:     0x58b554de79a8 - <[u8]>::get_unchecked_mut::<usize>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/slice/mod.rs:691:30
[INFO] [stderr]   23:     0x58b554df06ad - <arrayvec[fe498a8f7e8b3640]::ArrayVec<[u8; 72usize]>>::pop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.3.25/src/lib.rs:256:33
[INFO] [stderr]   24:     0x58b554df06f8 - <arrayvec[fe498a8f7e8b3640]::ArrayVec<[u8; 72usize]>>::clear
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.3.25/src/lib.rs:309:34
[INFO] [stderr]   25:     0x58b554df2bba - <arrayvec[fe498a8f7e8b3640]::ArrayVec<[u8; 72usize]> as core[c5ed12ab89cc536a]::ops::drop::Drop>::drop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.3.25/src/lib.rs:93:14
[INFO] [stderr]   26:     0x58b554def353 - core[c5ed12ab89cc536a]::ptr::drop_in_place::<arrayvec[fe498a8f7e8b3640]::ArrayVec<[u8; 72usize]>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ptr/mod.rs:805:1
[INFO] [stderr]   27:     0x58b554deb6b1 - secp256k1[4995bccc53e3e50f]::key::test::keypair_slice_round_trip
[INFO] [stderr]                                at /opt/rustwide/workdir/src/key.rs:322:9
[INFO] [stderr]   28:     0x58b554de8647 - secp256k1[4995bccc53e3e50f]::key::test::keypair_slice_round_trip::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/key.rs:317:34
[INFO] [stderr]   29:     0x58b554df4fc6 - <secp256k1[4995bccc53e3e50f]::key::test::keypair_slice_round_trip::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   30:     0x58b554e2081b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   31:     0x58b554e2081b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stderr]   32:     0x58b554e2d07a - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stderr]   33:     0x58b554e2d07a - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   34:     0x58b554e2d07a - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stderr]   35:     0x58b554e2d07a - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stderr]   36:     0x58b554e2d07a - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stderr]   37:     0x58b554e2d07a - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stderr]   38:     0x58b554e2d07a - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stderr]   39:     0x58b554e27544 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stderr]   40:     0x58b554e27544 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   41:     0x58b554e2fb72 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stderr]   42:     0x58b554e2fb72 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   43:     0x58b554e2fb72 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stderr]   44:     0x58b554e2fb72 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stderr]   45:     0x58b554e2fb72 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stderr]   46:     0x58b554e2fb72 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stderr]   47:     0x58b554e2fb72 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   48:     0x58b554ea5bdf - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stderr]   49:     0x58b554ea5bdf - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stderr]   50:     0x7fa3db923aa4 - <unknown>
[INFO] [stderr]   51:     0x7fa3db9b0a64 - clone
[INFO] [stderr]   52:                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-0ab417d4c8ee2ba4` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "f3a308d04bbcb42c2282e0e0723fb74b63465c692faa9ef13d56deab57004861", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3a308d04bbcb42c2282e0e0723fb74b63465c692faa9ef13d56deab57004861", kill_on_drop: false }`
[INFO] [stdout] f3a308d04bbcb42c2282e0e0723fb74b63465c692faa9ef13d56deab57004861
