[INFO] fetching crate s-secp256k1 0.5.7...
[INFO] building s-secp256k1-0.5.7 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate s-secp256k1 0.5.7 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate s-secp256k1 0.5.7
[INFO] finished tweaking crates.io crate s-secp256k1 0.5.7
[INFO] tweaked toml for crates.io crate s-secp256k1 0.5.7 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate s-secp256k1 0.5.7 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 32 packages to latest compatible versions
[INFO] [stderr]       Adding arrayvec v0.4.12 (available: v0.7.6)
[INFO] [stderr]       Adding cfg-if v0.1.10 (available: v1.0.3)
[INFO] [stderr]       Adding hex v0.3.2 (available: v0.4.3)
[INFO] [stderr]       Adding rand v0.4.6 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d17683ddeba76106b42a7784a4a7441aa3e4bad295b665400ce840bb400b1031
[INFO] running `Command { std: "docker" "start" "-a" "d17683ddeba76106b42a7784a4a7441aa3e4bad295b665400ce840bb400b1031", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d17683ddeba76106b42a7784a4a7441aa3e4bad295b665400ce840bb400b1031", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d17683ddeba76106b42a7784a4a7441aa3e4bad295b665400ce840bb400b1031", kill_on_drop: false }`
[INFO] [stdout] d17683ddeba76106b42a7784a4a7441aa3e4bad295b665400ce840bb400b1031
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 031bbb6bb770ed5537ed8bf1a7e5645491fa190f56b23eb1077b4a0706a29c8f
[INFO] running `Command { std: "docker" "start" "-a" "031bbb6bb770ed5537ed8bf1a7e5645491fa190f56b23eb1077b4a0706a29c8f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling s-secp256k1 v0.5.7 (/opt/rustwide/workdir)
[INFO] [stderr] warning: s-secp256k1@0.5.7: In file included from depend/secp256k1/src/secp256k1.c:13,
[INFO] [stderr] warning: s-secp256k1@0.5.7:                  from depend/secp256k1/src/ext.c:8:
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/group_impl.h:686:12: warning: 'secp256k1_gej_has_quad_y_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: s-secp256k1@0.5.7:   686 | static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/group_impl.h:267:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: s-secp256k1@0.5.7:   267 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   154 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   156 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   175 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   171 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   177 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   216 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   217 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   234 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   235 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   253 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   254 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   255 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   265 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   266 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   279 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   300 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   299 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   301 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   353 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   352 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   354 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   396 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   411 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   414 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_negate':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:430:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   430 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_negate':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:443:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   443 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:460:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   460 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:461:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   461 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:484:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   484 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:485:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   485 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:507:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   507 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:508:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   508 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:530:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   530 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:531:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   531 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:559:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   559 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonces' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:562:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   562 |     ARG_CHECK(pubnonces != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h: In function 'secp256k1_ecdh':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'result' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:20:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    20 |     ARG_CHECK(result != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'point' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:21:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    21 |     ARG_CHECK(point != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'scalar' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:22:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     ARG_CHECK(scalar != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:31:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    31 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:30:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    30 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:32:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    32 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    66 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    65 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:67:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    67 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_recover':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    80 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    79 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:78:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    78 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_generate_nonce_pair':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:102:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   102 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'privnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:103:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   103 |     ARG_CHECK(privnonce32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:140:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   140 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:139:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   139 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sec32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:141:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   141 |     ARG_CHECK(sec32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce_others' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:143:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   143 |     ARG_CHECK(pubnonce_others != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'secnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:142:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   142 |     ARG_CHECK(secnonce32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_combine':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:158:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   158 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64sin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:160:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   160 |     ARG_CHECK(sig64sin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    44 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    45 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    64 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'recid' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    66 |     ARG_CHECK(recid != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    65 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_convert':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    79 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    80 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_sign_recoverable':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   132 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   131 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   133 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recover':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   179 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   178 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   177 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[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:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | 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:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | 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:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | 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:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |         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/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:66:47
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:91:47
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:98:58
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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/lib.rs:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:327:35
[INFO] [stdout]     |
[INFO] [stdout] 327 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |     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] 332 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct SecretKey([u8; constants::SECRET_KEY_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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:98:53
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     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:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     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:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     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:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stdout] 127 | |                                        seed32: *const c_uchar)
[INFO] [stdout] 128 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 139 | |                                      input: *const c_uchar, in_len: usize)
[INFO] [stdout] 140 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 143 | |                                          out_len: *mut usize, pk: *const PublicKey,
[INFO] [stdout] 144 | |                                          compressed: c_uint)
[INFO] [stdout] 145 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 149 | |                                                input: *const c_uchar, in_len: usize)
[INFO] [stdout] 150 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 153 | |                                          input: *const c_uchar, in_len: usize)
[INFO] [stdout] 154 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 157 | |                                                    out_len: *mut usize, sig: *const Signature)
[INFO] [stdout] 158 | |                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 161 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stdout] 162 | |                                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 165 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stdout] 166 | |                                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 169 | |                                                          input: *const RecoverableSignature) 
[INFO] [stdout] 170 | |                                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 173 | |                                                in_sig: *const Signature)
[INFO] [stdout] 174 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 178 | |                                   sig: *const Signature,
[INFO] [stdout] 179 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 180 | |                                   pk: *const PublicKey)
[INFO] [stdout] 181 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 184 | |                                 sig: *mut Signature,
[INFO] [stdout] 185 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 186 | |                                 sk: *const c_uchar,
[INFO] [stdout] 187 | |                                 noncefn: NonceFn,
[INFO] [stdout] 188 | |                                 noncedata: *const c_void)
[INFO] [stdout] 189 | |                                 -> c_int;
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stdout] 192 | |                                             sig: *mut RecoverableSignature,
[INFO] [stdout] 193 | |                                             msg32: *const c_uchar,
[INFO] [stdout] 194 | |                                             sk: *const c_uchar,
[INFO] [stdout] 195 | |                                             noncefn: NonceFn,
[INFO] [stdout] 196 | |                                             noncedata: *const c_void)
[INFO] [stdout] 197 | |                                             -> c_int;
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stdout] 200 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 201 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 202 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 203 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 207 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 208 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 209 | |                                   sk: *const c_uchar,
[INFO] [stdout] 210 | |                                   noncefn: NonceFn,
[INFO] [stdout] 211 | |                                   noncedata: *const c_void)
[INFO] [stdout] 212 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stdout] 215 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 216 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 217 | |                                     pk: *const PublicKey)
[INFO] [stdout] 218 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 221 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 222 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 223 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 224 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 228 | |                                       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:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 231 | |                                       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:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 237 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 238 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 239 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 242 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 243 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 244 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 247 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 248 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 249 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 252 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 253 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 254 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 257 | |                                        out: *mut PublicKey,
[INFO] [stdout] 258 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 259 | |                                        n: c_int)
[INFO] [stdout] 260 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 263 | |                           out: *mut SharedSecret,
[INFO] [stdout] 264 | |                           point: *const PublicKey,
[INFO] [stdout] 265 | |                           scalar: *const c_uchar)
[INFO] [stdout] 266 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 269 | |                           out: *mut SharedSecret,
[INFO] [stdout] 270 | |                           point: *const PublicKey,
[INFO] [stdout] 271 | |                           scalar: *const c_uchar)
[INFO] [stdout] 272 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 275 | |                           out: *mut c_uchar,
[INFO] [stdout] 276 | |                           scalar: *const c_uchar)
[INFO] [stdout] 277 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:277:20
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.61s
[INFO] running `Command { std: "docker" "inspect" "031bbb6bb770ed5537ed8bf1a7e5645491fa190f56b23eb1077b4a0706a29c8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "031bbb6bb770ed5537ed8bf1a7e5645491fa190f56b23eb1077b4a0706a29c8f", kill_on_drop: false }`
[INFO] [stdout] 031bbb6bb770ed5537ed8bf1a7e5645491fa190f56b23eb1077b4a0706a29c8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7355509e5274dd54d18cc1ad412f10a0357c925584e8ae4b7476120b459761a4
[INFO] running `Command { std: "docker" "start" "-a" "7355509e5274dd54d18cc1ad412f10a0357c925584e8ae4b7476120b459761a4", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling hex v0.3.2
[INFO] [stderr] warning: s-secp256k1@0.5.7: In file included from depend/secp256k1/src/secp256k1.c:13,
[INFO] [stderr] warning: s-secp256k1@0.5.7:                  from depend/secp256k1/src/ext.c:8:
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/group_impl.h:686:12: warning: 'secp256k1_gej_has_quad_y_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: s-secp256k1@0.5.7:   686 | static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/group_impl.h:267:12: warning: 'secp256k1_gej_is_valid_var' defined but not used [-Wunused-function]
[INFO] [stderr] warning: s-secp256k1@0.5.7:   267 | static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   154 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   156 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   175 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   171 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   177 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   216 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   217 |     ARG_CHECK(input != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   234 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   235 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   253 |     ARG_CHECK(output != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'outputlen' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   254 |     ARG_CHECK(outputlen != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   255 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   265 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   266 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   279 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   300 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   299 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   301 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   353 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   352 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   354 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   396 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   411 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   414 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_negate':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:430:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   430 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_negate':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:443:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   443 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:460:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   460 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:461:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   461 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:484:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   484 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:485:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   485 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:507:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   507 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:508:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   508 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:530:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   530 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'tweak' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:531:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   531 |     ARG_CHECK(tweak != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:559:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   559 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonces' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:562:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   562 |     ARG_CHECK(pubnonces != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h: In function 'secp256k1_ecdh':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'result' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:20:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    20 |     ARG_CHECK(result != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'point' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:21:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    21 |     ARG_CHECK(point != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'scalar' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/ecdh/main_impl.h:22:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     ARG_CHECK(scalar != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:31:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    31 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:30:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    30 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:32:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    32 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_verify':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    66 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    65 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:67:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    67 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_recover':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    80 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    79 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:78:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    78 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_generate_nonce_pair':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:102:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   102 |     ARG_CHECK(pubnonce != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'privnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:103:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   103 |     ARG_CHECK(privnonce32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_sign':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:140:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   140 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:139:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   139 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sec32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:141:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   141 |     ARG_CHECK(sec32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubnonce_others' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:143:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   143 |     ARG_CHECK(pubnonce_others != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'secnonce32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:142:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   142 |     ARG_CHECK(secnonce32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h: In function 'secp256k1_schnorr_partial_combine':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:158:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   158 |     ARG_CHECK(sig64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig64sin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/schnorr/main_impl.h:160:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   160 |     ARG_CHECK(sig64sin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    44 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'input64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    45 |     ARG_CHECK(input64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'output64' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    64 |     ARG_CHECK(output64 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'recid' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    66 |     ARG_CHECK(recid != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    65 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recoverable_signature_convert':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    79 |     ARG_CHECK(sig != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'sigin' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:    80 |     ARG_CHECK(sigin != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_sign_recoverable':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   132 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   131 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'seckey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   133 |     ARG_CHECK(seckey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h: In function 'secp256k1_ecdsa_recover':
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'pubkey' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   179 |     ARG_CHECK(pubkey != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   178 |     ARG_CHECK(signature != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/secp256k1.c:22:8: warning: 'nonnull' argument 'msg32' compared to NULL [-Wnonnull-compare]
[INFO] [stderr] warning: s-secp256k1@0.5.7:    22 |     if (EXPECT(!(cond), 0)) { \
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |        ^
[INFO] [stderr] warning: s-secp256k1@0.5.7: depend/secp256k1/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
[INFO] [stderr] warning: s-secp256k1@0.5.7:   177 |     ARG_CHECK(msg32 != NULL);
[INFO] [stderr] warning: s-secp256k1@0.5.7:       |     ^~~~~~~~~
[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:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | 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:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | 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:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | 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:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |         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/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl_array_newtype!(PublicKey, c_uchar, 64);
[INFO] [stdout]    | ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:66:47
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:91:47
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:98:58
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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/macros.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     use std::intrinsics::copy_nonoverlapping;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/key.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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/lib.rs:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:327:35
[INFO] [stdout]     |
[INFO] [stdout] 327 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |     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] 332 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct SecretKey([u8; constants::SECRET_KEY_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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:98:53
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     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:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     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:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     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:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stdout] 127 | |                                        seed32: *const c_uchar)
[INFO] [stdout] 128 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 139 | |                                      input: *const c_uchar, in_len: usize)
[INFO] [stdout] 140 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 143 | |                                          out_len: *mut usize, pk: *const PublicKey,
[INFO] [stdout] 144 | |                                          compressed: c_uint)
[INFO] [stdout] 145 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 149 | |                                                input: *const c_uchar, in_len: usize)
[INFO] [stdout] 150 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 153 | |                                          input: *const c_uchar, in_len: usize)
[INFO] [stdout] 154 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 157 | |                                                    out_len: *mut usize, sig: *const Signature)
[INFO] [stdout] 158 | |                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 161 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stdout] 162 | |                                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 165 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stdout] 166 | |                                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 169 | |                                                          input: *const RecoverableSignature) 
[INFO] [stdout] 170 | |                                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 173 | |                                                in_sig: *const Signature)
[INFO] [stdout] 174 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 178 | |                                   sig: *const Signature,
[INFO] [stdout] 179 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 180 | |                                   pk: *const PublicKey)
[INFO] [stdout] 181 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 184 | |                                 sig: *mut Signature,
[INFO] [stdout] 185 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 186 | |                                 sk: *const c_uchar,
[INFO] [stdout] 187 | |                                 noncefn: NonceFn,
[INFO] [stdout] 188 | |                                 noncedata: *const c_void)
[INFO] [stdout] 189 | |                                 -> c_int;
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stdout] 192 | |                                             sig: *mut RecoverableSignature,
[INFO] [stdout] 193 | |                                             msg32: *const c_uchar,
[INFO] [stdout] 194 | |                                             sk: *const c_uchar,
[INFO] [stdout] 195 | |                                             noncefn: NonceFn,
[INFO] [stdout] 196 | |                                             noncedata: *const c_void)
[INFO] [stdout] 197 | |                                             -> c_int;
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stdout] 200 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 201 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 202 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 203 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 207 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 208 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 209 | |                                   sk: *const c_uchar,
[INFO] [stdout] 210 | |                                   noncefn: NonceFn,
[INFO] [stdout] 211 | |                                   noncedata: *const c_void)
[INFO] [stdout] 212 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stdout] 215 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 216 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 217 | |                                     pk: *const PublicKey)
[INFO] [stdout] 218 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 221 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 222 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 223 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 224 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 228 | |                                       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:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 231 | |                                       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:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 237 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 238 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 239 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 242 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 243 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 244 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 247 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 248 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 249 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 252 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 253 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 254 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 257 | |                                        out: *mut PublicKey,
[INFO] [stdout] 258 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 259 | |                                        n: c_int)
[INFO] [stdout] 260 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 263 | |                           out: *mut SharedSecret,
[INFO] [stdout] 264 | |                           point: *const PublicKey,
[INFO] [stdout] 265 | |                           scalar: *const c_uchar)
[INFO] [stdout] 266 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 269 | |                           out: *mut SharedSecret,
[INFO] [stdout] 270 | |                           point: *const PublicKey,
[INFO] [stdout] 271 | |                           scalar: *const c_uchar)
[INFO] [stdout] 272 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 275 | |                           out: *mut c_uchar,
[INFO] [stdout] 276 | |                           scalar: *const c_uchar)
[INFO] [stdout] 277 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:277:20
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct Message([u8; constants::MESSAGE_SIZE]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling s-secp256k1 v0.5.7 (/opt/rustwide/workdir)
[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:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | 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:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | 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:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | 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:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | 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:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     try!(write!(f, "{:02x}", i));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/schnorr.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl_pretty_debug!(Signature);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_pretty_debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(f, "{}(", stringify!($thing)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | 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:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |         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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:327:35
[INFO] [stdout]     |
[INFO] [stdout] 327 |         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/key.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:60:48
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/schnorr.rs:57:48
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:66:47
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:91:47
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:98:58
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub unsafe fn blank() -> SharedSecret { mem::uninitialized() }
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:332:32
[INFO] [stdout]     |
[INFO] [stdout] 332 |     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] 332 |     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:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:277:20
[INFO] [stdout]     |
[INFO] [stdout] 277 | 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 `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:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 | 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 `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:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | 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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     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:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | 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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | 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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     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:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 | 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:98:53
[INFO] [stdout]    |
[INFO] [stdout] 98 |     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:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 | 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:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 |     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:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 | 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:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     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:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     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:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     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:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub fn secp256k1_context_randomize(cx: *mut Context,
[INFO] [stdout] 127 | |                                        seed32: *const c_uchar)
[INFO] [stdout] 128 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | /     pub fn secp256k1_ec_pubkey_parse(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 139 | |                                      input: *const c_uchar, in_len: usize)
[INFO] [stdout] 140 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     pub fn secp256k1_ec_pubkey_serialize(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 143 | |                                          out_len: *mut usize, pk: *const PublicKey,
[INFO] [stdout] 144 | |                                          compressed: c_uint)
[INFO] [stdout] 145 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     pub fn secp256k1_ecdsa_signature_parse_der(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 149 | |                                                input: *const c_uchar, in_len: usize)
[INFO] [stdout] 150 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | /     pub fn ecdsa_signature_parse_der_lax(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 153 | |                                          input: *const c_uchar, in_len: usize)
[INFO] [stdout] 154 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:60:43
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     let mut ret: $thing = mem::uninitialized();
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schnorr.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl_array_newtype!(Signature, u8, constants::SCHNORR_SIGNATURE_SIZE);
[INFO] [stdout]    | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `schnorr::Signature` does not permit being left uninitialized
[INFO] [stdout]   --> src/schnorr.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut ret: Signature = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]   --> src/schnorr.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Signature([u8; constants::SCHNORR_SIGNATURE_SIZE]);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     pub fn secp256k1_ecdsa_signature_serialize_der(cx: *const Context, output: *const c_uchar,
[INFO] [stdout] 157 | |                                                    out_len: *mut usize, sig: *const Signature)
[INFO] [stdout] 158 | |                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     pub fn secp256k1_ecdsa_recoverable_signature_parse_compact(cx: *const Context, sig: *mut RecoverableSignature,
[INFO] [stdout] 161 | |                                                                input64: *const c_uchar, recid: c_int)
[INFO] [stdout] 162 | |                                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     pub fn secp256k1_ecdsa_recoverable_signature_serialize_compact(cx: *const Context, output64: *const c_uchar,
[INFO] [stdout] 165 | |                                                                    recid: *mut c_int, sig: *const RecoverableSignature)
[INFO] [stdout] 166 | |                                                                    -> c_int;
[INFO] [stdout]     | |____________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     pub fn secp256k1_ecdsa_recoverable_signature_convert(cx: *const Context, sig: *mut Signature,
[INFO] [stdout] 169 | |                                                          input: *const RecoverableSignature) 
[INFO] [stdout] 170 | |                                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn secp256k1_ecdsa_signature_normalize(cx: *const Context, out_sig: *mut Signature,
[INFO] [stdout] 173 | |                                                in_sig: *const Signature)
[INFO] [stdout] 174 | |                                                -> c_int;
[INFO] [stdout]     | |________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     pub fn secp256k1_ecdsa_verify(cx: *const Context,
[INFO] [stdout] 178 | |                                   sig: *const Signature,
[INFO] [stdout] 179 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 180 | |                                   pk: *const PublicKey)
[INFO] [stdout] 181 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn secp256k1_ecdsa_sign(cx: *const Context,
[INFO] [stdout] 184 | |                                 sig: *mut Signature,
[INFO] [stdout] 185 | |                                 msg32: *const c_uchar,
[INFO] [stdout] 186 | |                                 sk: *const c_uchar,
[INFO] [stdout] 187 | |                                 noncefn: NonceFn,
[INFO] [stdout] 188 | |                                 noncedata: *const c_void)
[INFO] [stdout] 189 | |                                 -> c_int;
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | /     pub fn secp256k1_ecdsa_sign_recoverable(cx: *const Context,
[INFO] [stdout] 192 | |                                             sig: *mut RecoverableSignature,
[INFO] [stdout] 193 | |                                             msg32: *const c_uchar,
[INFO] [stdout] 194 | |                                             sk: *const c_uchar,
[INFO] [stdout] 195 | |                                             noncefn: NonceFn,
[INFO] [stdout] 196 | |                                             noncedata: *const c_void)
[INFO] [stdout] 197 | |                                             -> c_int;
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     pub fn secp256k1_ecdsa_recover(cx: *const Context,
[INFO] [stdout] 200 | |                                    pk: *mut PublicKey,
[INFO] [stdout] 201 | |                                    sig: *const RecoverableSignature,
[INFO] [stdout] 202 | |                                    msg32: *const c_uchar)
[INFO] [stdout] 203 | |                                    -> c_int;
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | /     pub fn secp256k1_schnorr_sign(cx: *const Context,
[INFO] [stdout] 207 | |                                   sig64: *mut c_uchar,
[INFO] [stdout] 208 | |                                   msg32: *const c_uchar,
[INFO] [stdout] 209 | |                                   sk: *const c_uchar,
[INFO] [stdout] 210 | |                                   noncefn: NonceFn,
[INFO] [stdout] 211 | |                                   noncedata: *const c_void)
[INFO] [stdout] 212 | |                                   -> c_int;
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     pub fn secp256k1_schnorr_verify(cx: *const Context,
[INFO] [stdout] 215 | |                                     sig64: *const c_uchar,
[INFO] [stdout] 216 | |                                     msg32: *const c_uchar,
[INFO] [stdout] 217 | |                                     pk: *const PublicKey)
[INFO] [stdout] 218 | |                                     -> c_int;
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     pub fn secp256k1_schnorr_recover(cx: *const Context,
[INFO] [stdout] 221 | |                                      pk: *mut PublicKey,
[INFO] [stdout] 222 | |                                      sig64: *const c_uchar,
[INFO] [stdout] 223 | |                                      msg32: *const c_uchar)
[INFO] [stdout] 224 | |                                      -> c_int;
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | /     pub fn secp256k1_ec_seckey_verify(cx: *const Context,
[INFO] [stdout] 228 | |                                       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:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | /     pub fn secp256k1_ec_pubkey_create(cx: *const Context, pk: *mut PublicKey,
[INFO] [stdout] 231 | |                                       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:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     pub fn secp256k1_ec_privkey_tweak_add(cx: *const Context,
[INFO] [stdout] 237 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 238 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 239 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | /     pub fn secp256k1_ec_pubkey_tweak_add(cx: *const Context,
[INFO] [stdout] 242 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 243 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 244 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | /     pub fn secp256k1_ec_privkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 247 | |                                           sk: *mut c_uchar,
[INFO] [stdout] 248 | |                                           tweak: *const c_uchar)
[INFO] [stdout] 249 | |                                           -> c_int;
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | /     pub fn secp256k1_ec_pubkey_tweak_mul(cx: *const Context,
[INFO] [stdout] 252 | |                                          pk: *mut PublicKey,
[INFO] [stdout] 253 | |                                          tweak: *const c_uchar)
[INFO] [stdout] 254 | |                                          -> c_int;
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     pub fn secp256k1_ec_pubkey_combine(cx: *const Context,
[INFO] [stdout] 257 | |                                        out: *mut PublicKey,
[INFO] [stdout] 258 | |                                        ins: *const *const PublicKey,
[INFO] [stdout] 259 | |                                        n: c_int)
[INFO] [stdout] 260 | |                                        -> c_int;
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     pub fn secp256k1_ecdh(cx: *const Context,
[INFO] [stdout] 263 | |                           out: *mut SharedSecret,
[INFO] [stdout] 264 | |                           point: *const PublicKey,
[INFO] [stdout] 265 | |                           scalar: *const c_uchar)
[INFO] [stdout] 266 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     pub fn secp256k1_ecdh_raw(cx: *const Context,
[INFO] [stdout] 269 | |                           out: *mut SharedSecret,
[INFO] [stdout] 270 | |                           point: *const PublicKey,
[INFO] [stdout] 271 | |                           scalar: *const c_uchar)
[INFO] [stdout] 272 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ffi.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | /     pub fn secp256k1_ec_privkey_inverse(cx: *const Context,
[INFO] [stdout] 275 | |                           out: *mut c_uchar,
[INFO] [stdout] 276 | |                           scalar: *const c_uchar)
[INFO] [stdout] 277 | |                           -> c_int;
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.02s
[INFO] running `Command { std: "docker" "inspect" "7355509e5274dd54d18cc1ad412f10a0357c925584e8ae4b7476120b459761a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7355509e5274dd54d18cc1ad412f10a0357c925584e8ae4b7476120b459761a4", kill_on_drop: false }`
[INFO] [stdout] 7355509e5274dd54d18cc1ad412f10a0357c925584e8ae4b7476120b459761a4
