[INFO] cloning repository https://github.com/zaimusho/libsignal-client-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zaimusho/libsignal-client-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzaimusho%2Flibsignal-client-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzaimusho%2Flibsignal-client-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5e8a14aad5628be5e6e64e1c3fd8f705f8d89040
[INFO] checking zaimusho/libsignal-client-rust against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzaimusho%2Flibsignal-client-rust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/zaimusho/libsignal-client-rust
[INFO] finished tweaking git repo https://github.com/zaimusho/libsignal-client-rust
[INFO] tweaked toml for git repo https://github.com/zaimusho/libsignal-client-rust written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zaimusho/libsignal-client-rust on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zaimusho/libsignal-client-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding unzip3 v1.0.0
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pin-project v1.0.1
[INFO] [stderr]   Downloaded futures v0.3.7
[INFO] [stderr]   Downloaded block-modes v0.7.0
[INFO] [stderr]   Downloaded neon-runtime v0.7.0
[INFO] [stderr]   Downloaded syn-mid v0.5.3
[INFO] [stderr]   Downloaded unzip3 v1.0.0
[INFO] [stderr]   Downloaded polyval v0.4.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.17
[INFO] [stderr]   Downloaded futures-channel v0.3.7
[INFO] [stderr]   Downloaded paste v1.0.4
[INFO] [stderr]   Downloaded backtrace v0.3.52
[INFO] [stderr]   Downloaded anyhow v1.0.33
[INFO] [stderr]   Downloaded aes-soft v0.6.3
[INFO] [stderr]   Downloaded futures-util v0.3.7
[INFO] [stderr]   Downloaded combine v4.3.2
[INFO] [stderr]   Downloaded neon v0.7.0
[INFO] [stderr]   Downloaded packed_simd v0.3.3
[INFO] [stderr]   Downloaded async-trait v0.1.41
[INFO] [stderr]   Downloaded futures-executor v0.3.7
[INFO] [stderr]   Downloaded syn v1.0.45
[INFO] [stderr]   Downloaded regex v1.4.1
[INFO] [stderr]   Downloaded regex-syntax v0.6.20
[INFO] [stderr]   Downloaded pin-project-internal v1.0.1
[INFO] [stderr]   Downloaded zeroize_derive v1.0.1
[INFO] [stderr]   Downloaded futures-io v0.3.7
[INFO] [stderr]   Downloaded bstr v0.2.14
[INFO] [stderr]   Downloaded subtle v2.3.0
[INFO] [stderr]   Downloaded zeroize v1.1.1
[INFO] [stderr]   Downloaded futures-core v0.3.7
[INFO] [stderr]   Downloaded futures-macro v0.3.7
[INFO] [stderr]   Downloaded futures-sink v0.3.7
[INFO] [stderr]   Downloaded futures-task v0.3.7
[INFO] [stderr]   Downloaded neon-macros v0.7.0
[INFO] [stderr]   Downloaded cslice v0.2.0
[INFO] [stderr]   Downloaded curve25519-dalek v3.0.0
[INFO] [stderr]   Downloaded neon-build v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9afe22f6a3f5e9b6a9ed6415bddda1365a53e4717bb008a9e9dc00ba58148cc
[INFO] running `Command { std: "docker" "start" "-a" "b9afe22f6a3f5e9b6a9ed6415bddda1365a53e4717bb008a9e9dc00ba58148cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9afe22f6a3f5e9b6a9ed6415bddda1365a53e4717bb008a9e9dc00ba58148cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9afe22f6a3f5e9b6a9ed6415bddda1365a53e4717bb008a9e9dc00ba58148cc", kill_on_drop: false }`
[INFO] [stdout] b9afe22f6a3f5e9b6a9ed6415bddda1365a53e4717bb008a9e9dc00ba58148cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d16f4808d16dc9b5aa6741cb57b82d4d79a4e03c589c7bb2415f04394dcd7b5e
[INFO] running `Command { std: "docker" "start" "-a" "d16f4808d16dc9b5aa6741cb57b82d4d79a4e03c589c7bb2415f04394dcd7b5e", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.45
[INFO] [stderr]    Compiling libc v0.2.79
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking subtle v2.3.0
[INFO] [stderr]    Compiling anyhow v1.0.33
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking futures-sink v0.3.7
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]     Checking once_cell v1.4.1
[INFO] [stderr]     Checking futures-core v0.3.7
[INFO] [stderr]     Checking futures-io v0.3.7
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling ppv-lite86 v0.2.9
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]    Compiling bytes v0.5.6
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]     Checking futures-channel v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling multimap v0.8.2
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]     Checking futures-task v0.3.7
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking cpuid-bool v0.1.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]    Compiling rayon-core v1.8.1
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]     Checking sha2 v0.9.1
[INFO] [stderr]     Checking aes-soft v0.6.3
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]     Checking block-modes v0.7.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]    Compiling rayon v1.4.1
[INFO] [stderr]    Compiling neon-build v0.7.0
[INFO] [stderr]    Compiling prost-build v0.6.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking universal-hash v0.4.0
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling miniz_oxide v0.4.3
[INFO] [stderr]     Checking half v1.6.0
[INFO] [stderr]     Checking regex-syntax v0.6.20
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking polyval v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking aesni v0.10.0
[INFO] [stderr]     Checking gimli v0.22.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]     Checking oorandom v11.1.2
[INFO] [stderr]     Checking adler v0.2.3
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]    Compiling neon v0.7.0
[INFO] [stderr]     Checking libloading v0.6.6
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking rustc-demangle v0.1.17
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]     Checking hex v0.4.2
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking cslice v0.2.0
[INFO] [stderr]     Checking aes-gcm-siv v0.1.0 (/opt/rustwide/workdir/rust/aes-gcm-siv)
[INFO] [stderr]     Checking neon-runtime v0.7.0
[INFO] [stderr]    Compiling jni v0.17.0
[INFO] [stderr]     Checking combine v4.3.2
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]    Compiling unzip3 v1.0.0
[INFO] [stderr]     Checking jni-sys v0.3.0
[INFO] [stderr]     Checking unicode-xid v0.2.1
[INFO] [stderr]    Compiling paste v1.0.4
[INFO] [stderr]     Checking unicode-segmentation v1.6.0
[INFO] [stderr]     Checking regex v1.4.1
[INFO] [stderr]     Checking proc-macro2 v1.0.24
[INFO] [stderr]    Compiling tempfile v3.1.0
[INFO] [stderr]     Checking quote v1.0.7
[INFO] [stderr]     Checking heck v0.3.1
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking backtrace v0.3.52
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling syn-mid v0.5.3
[INFO] [stderr]    Compiling pin-project-internal v1.0.1
[INFO] [stderr]    Compiling futures-macro v0.3.7
[INFO] [stderr]    Compiling prost-derive v0.6.1
[INFO] [stderr]    Compiling async-trait v0.1.41
[INFO] [stderr]    Compiling neon-macros v0.7.0
[INFO] [stderr]    Compiling libsignal-bridge-macros v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared/macros)
[INFO] [stderr]    Compiling zeroize_derive v1.0.1
[INFO] [stderr]     Checking zeroize v1.1.1
[INFO] [stderr]     Checking curve25519-dalek v3.0.0
[INFO] [stderr]     Checking pin-project v1.0.1
[INFO] [stderr]     Checking futures-util v0.3.7
[INFO] [stderr]     Checking x25519-dalek v1.1.0
[INFO] [stderr]    Compiling prost v0.6.1
[INFO] [stderr]    Compiling prost-types v0.6.1
[INFO] [stderr]     Checking futures-executor v0.3.7
[INFO] [stderr]     Checking futures v0.3.7
[INFO] [stderr]     Checking signal-neon-futures v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures)
[INFO] [stdout] warning: the feature `wake_trait` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/bridge/node/futures/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![feature(wake_trait)]
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> rust/bridge/node/futures/src/future.rs:195:34
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<F, T>
[INFO] [stdout]     |                                  ^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<'_, F, T>
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking signal-neon-futures-tests v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures/tests-node-module)
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `wake_trait` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/bridge/node/futures/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![feature(wake_trait)]
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> rust/bridge/node/futures/src/future.rs:195:34
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<F, T>
[INFO] [stdout]     |                                  ^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<'_, F, T>
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libsignal-protocol-rust v0.1.0 (/opt/rustwide/workdir/rust/protocol)
[INFO] [stderr]     Checking bstr v0.2.14
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]     Checking libsignal-bridge v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared)
[INFO] [stderr]     Checking libsignal-node v0.1.0 (/opt/rustwide/workdir/rust/bridge/node)
[INFO] [stderr]     Checking tinytemplate v1.1.0
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | bridge_destroy!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 | let _ = bridge_destroy!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | bridge_destroy!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 | let _ = bridge_destroy!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | bridge_destroy!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 | let _ = bridge_destroy!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | bridge_destroy!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 | let _ = bridge_destroy!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | bridge_destroy!(SignalMessage, ffi = message);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 | let _ = bridge_destroy!(SignalMessage, ffi = message);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:174:1
[INFO] [stdout]     |
[INFO] [stdout] 174 | bridge_destroy!(PreKeySignalMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 174 | let _ = bridge_destroy!(PreKeySignalMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | bridge_destroy!(SenderKeyMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 189 | let _ = bridge_destroy!(SenderKeyMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | bridge_destroy!(SenderKeyDistributionMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 194 | let _ = bridge_destroy!(SenderKeyDistributionMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | bridge_destroy!(PreKeyBundle);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 | let _ = bridge_destroy!(PreKeyBundle);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | bridge_destroy!(SignedPreKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 207 | let _ = bridge_destroy!(SignedPreKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | bridge_destroy!(PreKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 | let _ = bridge_destroy!(PreKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | bridge_destroy!(SenderKeyName);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 | let _ = bridge_destroy!(SenderKeyName);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | bridge_destroy!(SenderKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 | let _ = bridge_destroy!(SenderKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | bridge_destroy!(CiphertextMessage, jni = None);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 | let _ = bridge_destroy!(CiphertextMessage, jni = None);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | bridge_destroy!(ServerCertificate);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 | let _ = bridge_destroy!(ServerCertificate);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:238:1
[INFO] [stdout]     |
[INFO] [stdout] 238 | bridge_destroy!(SenderCertificate);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 | let _ = bridge_destroy!(SenderCertificate);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | bridge_destroy!(UnidentifiedSenderMessageContent);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 | let _ = bridge_destroy!(UnidentifiedSenderMessageContent);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | bridge_destroy!(SessionRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 | let _ = bridge_destroy!(SessionRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | bridge_destroy!(Aes256GcmSiv);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 286 | let _ = bridge_destroy!(Aes256GcmSiv);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | bridge_destroy!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 | let _ = bridge_destroy!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | bridge_destroy!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 | let _ = bridge_destroy!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | bridge_destroy!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 | let _ = bridge_destroy!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/lib.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | bridge_destroy!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 | let _ = bridge_destroy!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | bridge_destroy!(SignalMessage, ffi = message);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 | let _ = bridge_destroy!(SignalMessage, ffi = message);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:174:1
[INFO] [stdout]     |
[INFO] [stdout] 174 | bridge_destroy!(PreKeySignalMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 174 | let _ = bridge_destroy!(PreKeySignalMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | bridge_destroy!(SenderKeyMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 189 | let _ = bridge_destroy!(SenderKeyMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | bridge_destroy!(SenderKeyDistributionMessage);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 194 | let _ = bridge_destroy!(SenderKeyDistributionMessage);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | bridge_destroy!(PreKeyBundle);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 | let _ = bridge_destroy!(PreKeyBundle);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | bridge_destroy!(SignedPreKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 207 | let _ = bridge_destroy!(SignedPreKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | bridge_destroy!(PreKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 | let _ = bridge_destroy!(PreKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | bridge_destroy!(SenderKeyName);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 | let _ = bridge_destroy!(SenderKeyName);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | bridge_destroy!(SenderKeyRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 | let _ = bridge_destroy!(SenderKeyRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | bridge_destroy!(CiphertextMessage, jni = None);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 | let _ = bridge_destroy!(CiphertextMessage, jni = None);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | bridge_destroy!(ServerCertificate);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 | let _ = bridge_destroy!(ServerCertificate);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:238:1
[INFO] [stdout]     |
[INFO] [stdout] 238 | bridge_destroy!(SenderCertificate);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 | let _ = bridge_destroy!(SenderCertificate);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | bridge_destroy!(UnidentifiedSenderMessageContent);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 | let _ = bridge_destroy!(UnidentifiedSenderMessageContent);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | bridge_destroy!(SessionRecord);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 | let _ = bridge_destroy!(SessionRecord);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> rust/bridge/shared/src/lib.rs:286:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | bridge_destroy!(Aes256GcmSiv);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 286 | let _ = bridge_destroy!(Aes256GcmSiv);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking libsignal-jni v0.1.0 (/opt/rustwide/workdir/rust/bridge/jni)
[INFO] [stderr]     Checking libsignal-ffi v0.1.0 (/opt/rustwide/workdir/rust/bridge/ffi)
[INFO] [stderr]     Checking criterion v0.3.3
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     CString::from_raw(buf as _);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = CString::from_raw(buf as _);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     CString::from_raw(buf as _);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = CString::from_raw(buf as _);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> rust/protocol/benches/session.rs:14:47
[INFO] [stdout]     |
[INFO] [stdout]  14 |     let alice_session_record = SessionRecord::new(alice_session);
[INFO] [stdout]     |                                               ^^^ private associated function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/protocol/src/state/session.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |     ---------------------------------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/protocol/benches/session.rs:14:51
[INFO] [stdout]     |
[INFO] [stdout]  14 |     let alice_session_record = SessionRecord::new(alice_session);
[INFO] [stdout]     |                                ------------------ ^^^^^^^^^^^^^ expected `SessionState`, found `SessionRecord`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> rust/protocol/src/state/session.rs:439:19
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> rust/protocol/benches/session.rs:15:45
[INFO] [stdout]     |
[INFO] [stdout]  15 |     let bob_session_record = SessionRecord::new(bob_session);
[INFO] [stdout]     |                                             ^^^ private associated function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/protocol/src/state/session.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |     ---------------------------------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/protocol/benches/session.rs:15:49
[INFO] [stdout]     |
[INFO] [stdout]  15 |     let bob_session_record = SessionRecord::new(bob_session);
[INFO] [stdout]     |                              ------------------ ^^^^^^^^^^^ expected `SessionState`, found `SessionRecord`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> rust/protocol/src/state/session.rs:439:19
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> rust/protocol/benches/session.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^------------------------------------- argument #3 of type `Option<*mut c_void>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> rust/protocol/src/storage/traits.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn store_session(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 23 |     alice_store.store_session(&bob_address, &alice_session_record, /* Option<*mut c_void> */)?;
[INFO] [stdout]    |                                                                  +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:23:67
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn session_encrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ----------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 23 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> rust/protocol/benches/session.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |               ^^^^^^^^^^^^^------------------------------------- argument #3 of type `Option<*mut c_void>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> rust/protocol/src/storage/traits.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn store_session(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 24 |     bob_store.store_session(&alice_address, &bob_session_record, /* Option<*mut c_void> */)?;
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:24:65
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn session_encrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ----------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 24 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |                                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let message_to_decrypt = support::encrypt(&mut alice_store, &bob_address, "a short message")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:26:97
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn session_encrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ----------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 26 |     let message_to_decrypt = support::encrypt(&mut alice_store, &bob_address, "a short message")?;
[INFO] [stdout]    |                                                                                                 ^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-14260551012575593894.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:31:83
[INFO] [stdout]    |
[INFO] [stdout] 31 |             support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt).expect("success");
[INFO] [stdout]    |                                                                                   ^^^^^^ method not found in `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 31 |             support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt).await.expect("success");
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:35:82
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn session_encrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ----------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 35 |     let _ = support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt)?;
[INFO] [stdout]    |                                                                                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let message_to_decrypt = support::encrypt(&mut alice_store, &bob_address, "a short message")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:36:97
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn session_encrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ----------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 36 |     let message_to_decrypt = support::encrypt(&mut alice_store, &bob_address, "a short message")?;
[INFO] [stdout]    |                                                                                                 ^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-9943859058891921391.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:40:81
[INFO] [stdout]    |
[INFO] [stdout] 40 |             support::encrypt(&mut alice_store, &bob_address, "a short message").expect("success");
[INFO] [stdout]    |                                                                                 ^^^^^^ method not found in `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-3102581824436331257.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 40 |             support::encrypt(&mut alice_store, &bob_address, "a short message").await.expect("success");
[INFO] [stdout]    |                                                                                 ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:46:83
[INFO] [stdout]    |
[INFO] [stdout] 46 |             support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt).expect("success");
[INFO] [stdout]    |                                                                                   ^^^^^^ method not found in `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 46 |             support::decrypt(&mut bob_store, &alice_address, &message_to_decrypt).await.expect("success");
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> rust/protocol/benches/session.rs:55:47
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let alice_session_record = SessionRecord::new(alice_session);
[INFO] [stdout]     |                                               ^^^ private associated function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/protocol/src/state/session.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |     ---------------------------------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/protocol/benches/session.rs:55:51
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let alice_session_record = SessionRecord::new(alice_session);
[INFO] [stdout]     |                                ------------------ ^^^^^^^^^^^^^ expected `SessionState`, found `SessionRecord`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> rust/protocol/src/state/session.rs:439:19
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: associated function `new` is private
[INFO] [stdout]    --> rust/protocol/benches/session.rs:56:45
[INFO] [stdout]     |
[INFO] [stdout]  56 |     let bob_session_record = SessionRecord::new(bob_session);
[INFO] [stdout]     |                                             ^^^ private associated function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/protocol/src/state/session.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |     ---------------------------------------------- private associated function defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> rust/protocol/benches/session.rs:56:49
[INFO] [stdout]     |
[INFO] [stdout]  56 |     let bob_session_record = SessionRecord::new(bob_session);
[INFO] [stdout]     |                              ------------------ ^^^^^^^^^^^ expected `SessionState`, found `SessionRecord`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> rust/protocol/src/state/session.rs:439:19
[INFO] [stdout]     |
[INFO] [stdout] 439 |     pub(crate) fn new(state: SessionState) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> rust/protocol/benches/session.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^------------------------------------- argument #3 of type `Option<*mut c_void>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> rust/protocol/src/storage/traits.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn store_session(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 64 |     alice_store.store_session(&bob_address, &alice_session_record, /* Option<*mut c_void> */)?;
[INFO] [stdout]    |                                                                  +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn session_encrypt_decrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ------------------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 64 |     alice_store.store_session(&bob_address, &alice_session_record)?;
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> rust/protocol/benches/session.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |               ^^^^^^^^^^^^^------------------------------------- argument #3 of type `Option<*mut c_void>` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> rust/protocol/src/storage/traits.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn store_session(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bob_store.store_session(&alice_address, &bob_session_record, /* Option<*mut c_void> */)?;
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> rust/protocol/benches/session.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `Pin<Box<dyn Future<Output = Result<(), libsignal_protocol_rust::SignalProtocolError>>>>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> rust/protocol/benches/session.rs:65:65
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn session_encrypt_decrypt_result(c: &mut Criterion) -> Result<(), SignalProtocolError> {
[INFO] [stdout]    | ------------------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 65 |     bob_store.store_session(&alice_address, &bob_session_record)?;
[INFO] [stdout]    |                                                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |               let ctext = support::encrypt(&mut alice_store, &bob_address, "a short message")
[INFO] [stdout]    |  _________________________-
[INFO] [stdout] 70 | |                 .expect("success");
[INFO] [stdout]    | |                 -^^^^^^ method not found in `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-14559980562324252560.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .await.expect("success");
[INFO] [stdout]    |                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:71:83
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let _ptext = support::decrypt(&mut bob_store, &alice_address, &ctext).expect("success");
[INFO] [stdout]    |                                                                                   ^^^^^^ method not found in `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let _ptext = support::decrypt(&mut bob_store, &alice_address, &ctext).await.expect("success");
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 77 |               let ctext = support::encrypt(&mut alice_store, &bob_address, "a short message")
[INFO] [stdout]    |  _________________________-
[INFO] [stdout] 78 | |                 .expect("success");
[INFO] [stdout]    | |                 -^^^^^^ method not found in `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-1759490541279043509.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 .await.expect("success");
[INFO] [stdout]    |                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:79:83
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let _ptext = support::decrypt(&mut bob_store, &alice_address, &ctext).expect("success");
[INFO] [stdout]    |                                                                                   ^^^^^^ method not found in `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let _ptext = support::decrypt(&mut bob_store, &alice_address, &ctext).await.expect("success");
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |               let ctext = support::encrypt(&mut bob_store, &alice_address, "a short message")
[INFO] [stdout]    |  _________________________-
[INFO] [stdout] 82 | |                 .expect("success");
[INFO] [stdout]    | |                 -^^^^^^ method not found in `impl Future<Output = Result<CiphertextMessage, SignalProtocolError>>`
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/session-725bdd0230c5408f.long-type-11272463815885392513.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 .await.expect("success");
[INFO] [stdout]    |                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for opaque type `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>` in the current scope
[INFO] [stdout]   --> rust/protocol/benches/session.rs:83:83
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let _ptext = support::decrypt(&mut alice_store, &bob_address, &ctext).expect("success");
[INFO] [stdout]    |                                                                                   ^^^^^^ method not found in `impl Future<Output = Result<Vec<u8>, libsignal_protocol_rust::SignalProtocolError>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let _ptext = support::decrypt(&mut alice_store, &bob_address, &ctext).await.expect("success");
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0599, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libsignal-protocol-rust` (bench "session") due to 28 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: fields `tc_id`, `comment`, and `flags` are never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct WycheproofTest {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 12 |     #[serde(rename = "tcId")]
[INFO] [stdout] 13 |     tc_id: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     comment: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     flags: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `typ` is never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct WycheproofTestGroup {
[INFO] [stdout]    |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     typ: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTestGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `generator_version`, `number_of_tests`, `header`, `notes`, and `schema` are never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct WycheproofTestSet {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     generator_version: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     #[serde(rename = "numberOfTests")]
[INFO] [stdout] 46 |     number_of_tests: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     header: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 48 |     notes: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     schema: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTestSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d16f4808d16dc9b5aa6741cb57b82d4d79a4e03c589c7bb2415f04394dcd7b5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d16f4808d16dc9b5aa6741cb57b82d4d79a4e03c589c7bb2415f04394dcd7b5e", kill_on_drop: false }`
[INFO] [stdout] d16f4808d16dc9b5aa6741cb57b82d4d79a4e03c589c7bb2415f04394dcd7b5e
