[INFO] fetching crate hemlock_lib 0.1.0...
[INFO] checking hemlock_lib-0.1.0 against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] extracting crate hemlock_lib 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate hemlock_lib 0.1.0
[INFO] finished tweaking crates.io crate hemlock_lib 0.1.0
[INFO] tweaked toml for crates.io crate hemlock_lib 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate hemlock_lib 0.1.0 on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 273 packages to latest compatible versions
[INFO] [stderr]       Adding crc-fast v1.6.0 (available: v1.7.1)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded algebra_kit v0.1.15
[INFO] [stderr]   Downloaded matrix_kit v0.1.9
[INFO] [stderr]   Downloaded aws-smithy-eventstream v0.60.13
[INFO] [stderr]   Downloaded aws-smithy-checksums v0.63.11
[INFO] [stderr]   Downloaded pqc_kyber v0.7.1
[INFO] [stderr]   Downloaded aws-lc-rs v1.15.0
[INFO] [stderr]   Downloaded aws-sdk-sts v1.92.0
[INFO] [stderr]   Downloaded crc-fast v1.6.0
[INFO] [stderr]   Downloaded aws-sdk-dynamodb v1.98.0
[INFO] [stderr]   Downloaded aws-sdk-s3 v1.112.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.33.0
[INFO] [stderr]   Downloaded sylvan_number v0.1.5
[INFO] [stderr]   Downloaded rusty_crypto v0.1.24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 49a9441106cf74654ed446afce8ff45005ef6a16a822885d5bedcdff34a4181e
[INFO] running `Command { std: "docker" "start" "-a" "49a9441106cf74654ed446afce8ff45005ef6a16a822885d5bedcdff34a4181e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "49a9441106cf74654ed446afce8ff45005ef6a16a822885d5bedcdff34a4181e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49a9441106cf74654ed446afce8ff45005ef6a16a822885d5bedcdff34a4181e", kill_on_drop: false }`
[INFO] [stdout] 49a9441106cf74654ed446afce8ff45005ef6a16a822885d5bedcdff34a4181e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 468fe5853ae7f4873ba57b0df1be44d9813e4bb204752d3e774c39f265c89163
[INFO] running `Command { std: "docker" "start" "-a" "468fe5853ae7f4873ba57b0df1be44d9813e4bb204752d3e774c39f265c89163", kill_on_drop: false }`
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-rs v1.15.0
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]    Compiling aws-types v1.3.10
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling aws-lc-sys v0.33.0
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking regex-lite v0.1.8
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]     Checking ecdsa v0.14.8
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking aws-smithy-xml v0.60.12
[INFO] [stderr]     Checking p256 v0.11.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling pqc_kyber v0.7.1
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking algebra_kit v0.1.15
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking sylvan_number v0.1.5
[INFO] [stderr]     Checking matrix_kit v0.1.9
[INFO] [stderr]     Checking rusty_crypto v0.1.24
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking crc-fast v1.6.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking aws-smithy-async v1.2.6
[INFO] [stderr]     Checking aws-smithy-types v1.3.4
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking aws-smithy-runtime-api v1.9.2
[INFO] [stderr]     Checking aws-smithy-eventstream v0.60.13
[INFO] [stderr]     Checking aws-smithy-json v0.61.7
[INFO] [stderr]     Checking aws-smithy-query v0.60.8
[INFO] [stderr]     Checking aws-smithy-http v0.62.5
[INFO] [stderr]     Checking aws-credential-types v1.2.9
[INFO] [stderr]     Checking aws-smithy-observability v0.1.4
[INFO] [stderr]     Checking aws-smithy-checksums v0.63.11
[INFO] [stderr]     Checking aws-sigv4 v1.3.6
[INFO] [stderr]     Checking hyper v1.8.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking aws-smithy-http-client v1.1.4
[INFO] [stderr]     Checking aws-smithy-runtime v1.9.4
[INFO] [stderr]     Checking aws-runtime v1.5.14
[INFO] [stderr]     Checking aws-sdk-sso v1.89.0
[INFO] [stderr]     Checking aws-sdk-ssooidc v1.91.0
[INFO] [stderr]     Checking aws-sdk-sts v1.92.0
[INFO] [stderr]     Checking aws-sdk-dynamodb v1.98.0
[INFO] [stderr]     Checking aws-sdk-s3 v1.112.0
[INFO] [stderr]     Checking aws-config v1.8.10
[INFO] [stderr]     Checking hemlock_lib v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `DeleteItemOutput`
[INFO] [stdout]  --> src/web/dynamo.rs:4:84
[INFO] [stdout]   |
[INFO] [stdout] 4 | use aws_sdk_dynamodb::{error::SdkError, operation::{delete_item::{DeleteItemError, DeleteItemOutput}, put_item::PutItemError, query::Quer...
[INFO] [stdout]   |                                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::result`
[INFO] [stdout]  --> src/web/dynamo.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use aws_smithy_runtime_api::{client::result, http::Response};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aws_sdk_dynamodb::types::AttributeValue`
[INFO] [stdout]  --> src/web/messages.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use aws_sdk_dynamodb::types::AttributeValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SHARE_SIZE_BYTES`
[INFO] [stdout]  --> src/web/messages.rs:3:61
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusty_crypto::{lettuce, secsharing::sharing::{Share256, SHARE_SIZE_BYTES}, sha512, speck};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/web/users.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aws_sdk_dynamodb::types::AttributeValue`
[INFO] [stdout]  --> src/web/users.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use aws_sdk_dynamodb::types::AttributeValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TableKeyValues`
[INFO] [stdout]  --> src/web/users.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::dynamo::{self, DynamoDB, TableKeyValues};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs::File`
[INFO] [stdout]  --> src/web/shares.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::PathBuf` and `thread::spawn`
[INFO] [stdout]  --> src/web/files.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs::File, io::{Read, Write}, path::PathBuf, thread::spawn};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lettuce::Plaintext`
[INFO] [stdout]  --> src/web/files.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rusty_crypto::{lettuce::Plaintext, speck};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/web/share_status.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/web/share_status.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/web/share_status.rs:4:85
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusty_crypto::{secsharing::sharing::{Share256, SHARE_SIZE_BYTES}, speck::{self, Key}};
[INFO] [stdout]   |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/lib.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::ffi::{self, *};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharesError`
[INFO] [stdout]   --> src/lib.rs:92:127
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...tr, web::{dynamo::DynamoDB, messages, shares::{self, FileID, SharesError}, users::{self, UserID, UsersError}}, write_vec_to_c_ptr};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:158:67
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub extern "C" fn capi_test_async(rt: *mut Runtime, callback: extern fn(c_int) -> ()) -> c_int {
[INFO] [stdout]     |                                                                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:201:94
[INFO] [stdout]     |
[INFO] [stdout] 201 | ..., email_ptr: *const c_char, callback: extern fn(c_int, c_ulonglong, &mut speck::Key)) {
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:227:19
[INFO] [stdout]     |
[INFO] [stdout] 227 |         callback: extern fn(
[INFO] [stdout]     |                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         callback: extern fn(
[INFO] [stdout]     |                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:334:118
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub extern "C" fn capi_process_inbox(rt: *mut Runtime, share_owner: UserID, master_key_ptr: *mut u8, completion: extern fn (i32)) {
[INFO] [stdout]     |                                                                                                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:352:120
[INFO] [stdout]     |
[INFO] [stdout] 352 | ... master_key_ptr: *mut u8, completion: extern fn (i32, i32, *mut CPlaintextShare)) {
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeleteItemOutput`
[INFO] [stdout]  --> src/web/dynamo.rs:4:84
[INFO] [stdout]   |
[INFO] [stdout] 4 | use aws_sdk_dynamodb::{error::SdkError, operation::{delete_item::{DeleteItemError, DeleteItemOutput}, put_item::PutItemError, query::Quer...
[INFO] [stdout]   |                                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::result`
[INFO] [stdout]  --> src/web/dynamo.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use aws_smithy_runtime_api::{client::result, http::Response};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aws_sdk_dynamodb::types::AttributeValue`
[INFO] [stdout]  --> src/web/messages.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use aws_sdk_dynamodb::types::AttributeValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/web/users.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aws_sdk_dynamodb::types::AttributeValue`
[INFO] [stdout]  --> src/web/users.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use aws_sdk_dynamodb::types::AttributeValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TableKeyValues`
[INFO] [stdout]  --> src/web/users.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::dynamo::{self, DynamoDB, TableKeyValues};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs::File`
[INFO] [stdout]  --> src/web/shares.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::PathBuf` and `thread::spawn`
[INFO] [stdout]  --> src/web/files.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs::File, io::{Read, Write}, path::PathBuf, thread::spawn};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lettuce::Plaintext`
[INFO] [stdout]  --> src/web/files.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rusty_crypto::{lettuce::Plaintext, speck};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/web/share_status.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/web/share_status.rs:4:85
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusty_crypto::{secsharing::sharing::{Share256, SHARE_SIZE_BYTES}, speck::{self, Key}};
[INFO] [stdout]   |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/lib.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::ffi::{self, *};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharesError`
[INFO] [stdout]   --> src/lib.rs:92:127
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...tr, web::{dynamo::DynamoDB, messages, shares::{self, FileID, SharesError}, users::{self, UserID, UsersError}}, write_vec_to_c_ptr};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:158:67
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub extern "C" fn capi_test_async(rt: *mut Runtime, callback: extern fn(c_int) -> ()) -> c_int {
[INFO] [stdout]     |                                                                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:201:94
[INFO] [stdout]     |
[INFO] [stdout] 201 | ..., email_ptr: *const c_char, callback: extern fn(c_int, c_ulonglong, &mut speck::Key)) {
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:227:19
[INFO] [stdout]     |
[INFO] [stdout] 227 |         callback: extern fn(
[INFO] [stdout]     |                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         callback: extern fn(
[INFO] [stdout]     |                   ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:334:118
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub extern "C" fn capi_process_inbox(rt: *mut Runtime, share_owner: UserID, master_key_ptr: *mut u8, completion: extern fn (i32)) {
[INFO] [stdout]     |                                                                                                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/lib.rs:352:120
[INFO] [stdout]     |
[INFO] [stdout] 352 | ... master_key_ptr: *mut u8, completion: extern fn (i32, i32, *mut CPlaintextShare)) {
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]    --> src/lib.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let db = dynamo::DynamoDB::new().await;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ScanError(SdkError<ScanError, Response<SdkBody>>),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     ScanError(SdkError<ScanError, Response<SdkBody>>),
[INFO] [stdout] 14 +     ScanError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     QueryError(SdkError<QueryError, Response<SdkBody>>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     QueryError(SdkError<QueryError, Response<SdkBody>>),
[INFO] [stdout] 15 +     QueryError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PutItemError(SdkError<PutItemError, Response<SdkBody>>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     PutItemError(SdkError<PutItemError, Response<SdkBody>>),
[INFO] [stdout] 16 +     PutItemError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DeleteItemError(SdkError<DeleteItemError, Response<SdkBody>>)
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 -     DeleteItemError(SdkError<DeleteItemError, Response<SdkBody>>)
[INFO] [stdout] 17 +     DeleteItemError(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     DynamoError(dynamo::DynamoError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     DynamoError(dynamo::DynamoError),
[INFO] [stdout] 13 +     DynamoError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |     UsersError(users::UsersError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     UsersError(users::UsersError),
[INFO] [stdout] 14 +     UsersError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     SharesError(shares::SharesError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     SharesError(shares::SharesError),
[INFO] [stdout] 15 +     SharesError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     NoSuchMessageID(MessageID)
[INFO] [stdout]    |     --------------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     NoSuchMessageID(MessageID)
[INFO] [stdout] 16 +     NoSuchMessageID(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/users.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     DynamoError(dynamo::DynamoError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsersError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     DynamoError(dynamo::DynamoError),
[INFO] [stdout] 36 +     DynamoError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `share_owner` is never read
[INFO] [stdout]   --> src/web/shares.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PlaintextShare {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 21 |     pub share_owner: UserID,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/shares.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |     DynamoError(dynamo::DynamoError)
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     DynamoError(dynamo::DynamoError)
[INFO] [stdout] 30 +     DynamoError(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/files.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     GetObjectError(SdkError<GetObjectError, Response>),
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     GetObjectError(SdkError<GetObjectError, Response>),
[INFO] [stdout] 23 +     GetObjectError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/files.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     StdIOError(std::io::Error)
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 -     StdIOError(std::io::Error)
[INFO] [stdout] 24 +     StdIOError(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file_key` is never used
[INFO] [stdout]   --> src/web/files.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn parse_file_key(file_key: FileKey) -> (UserID, FileID) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/splitting.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     FileError(FileError),
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HemlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     FileError(FileError),
[INFO] [stdout] 10 +     FileError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/splitting.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MessagesError(MessagesError),
[INFO] [stdout]    |     ------------- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HemlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     MessagesError(MessagesError),
[INFO] [stdout] 11 +     MessagesError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/splitting.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DynamoError(DynamoError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HemlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     DynamoError(DynamoError),
[INFO] [stdout] 12 +     DynamoError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ScanError(SdkError<ScanError, Response<SdkBody>>),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     ScanError(SdkError<ScanError, Response<SdkBody>>),
[INFO] [stdout] 14 +     ScanError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     QueryError(SdkError<QueryError, Response<SdkBody>>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     QueryError(SdkError<QueryError, Response<SdkBody>>),
[INFO] [stdout] 15 +     QueryError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PutItemError(SdkError<PutItemError, Response<SdkBody>>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     PutItemError(SdkError<PutItemError, Response<SdkBody>>),
[INFO] [stdout] 16 +     PutItemError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/dynamo.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DeleteItemError(SdkError<DeleteItemError, Response<SdkBody>>)
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DynamoError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 -     DeleteItemError(SdkError<DeleteItemError, Response<SdkBody>>)
[INFO] [stdout] 17 +     DeleteItemError(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ShareStatus` is never constructed
[INFO] [stdout]   --> src/web/dynamo.rs:25:2
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Table {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     ShareStatus
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FileOwner`, `FileID`, `PublishedShares`, and `Threshold` are never constructed
[INFO] [stdout]   --> src/web/dynamo.rs:54:2
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum TableKeyValues {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FileOwner,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 55 |     FileID,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 56 |     PublishedShares,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     Threshold,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_query_result` is never used
[INFO] [stdout]    --> src/web/dynamo.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl CiphertextShareStatusEntry {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 149 |
[INFO] [stdout] 150 |     fn from_query_result(result: HashMap<String, AttributeValue>) -> CiphertextShareStatusEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upload_message`, `download_status`, and `upload_share_status` are never used
[INFO] [stdout]    --> src/web/dynamo.rs:313:15
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl DynamoDB {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub async fn upload_message(&self,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub async fn download_status(&self, file_id: FileID, owner_id: UserID) -> Result<CiphertextShareStatusEntry, DynamoError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     pub async fn upload_share_status(&self, file_id: FileID, owner_id: UserID, encrypted_published_shares: Vec<u8>, encrypted_threshold: Vec...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     DynamoError(dynamo::DynamoError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     DynamoError(dynamo::DynamoError),
[INFO] [stdout] 13 +     DynamoError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |     UsersError(users::UsersError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     UsersError(users::UsersError),
[INFO] [stdout] 14 +     UsersError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     SharesError(shares::SharesError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     SharesError(shares::SharesError),
[INFO] [stdout] 15 +     SharesError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/messages.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     NoSuchMessageID(MessageID)
[INFO] [stdout]    |     --------------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessagesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     NoSuchMessageID(MessageID)
[INFO] [stdout] 16 +     NoSuchMessageID(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encrypt` is never used
[INFO] [stdout]   --> src/web/messages.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl PlaintextMessage {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 82 |
[INFO] [stdout] 83 |     fn encrypt(&self, public_key: lettuce::PublicKey) -> EncryptedMessage {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_message` is never used
[INFO] [stdout]    --> src/web/messages.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub async fn send_message(db: &DynamoDB, to_user: UserID, from_user: UserID, file_id: FileID, share: Share256, group_key: speck::Key) -> ...
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/users.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     DynamoError(dynamo::DynamoError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsersError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     DynamoError(dynamo::DynamoError),
[INFO] [stdout] 36 +     DynamoError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/users.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     EmailTaken(String)
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsersError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     EmailTaken(String)
[INFO] [stdout] 38 +     EmailTaken(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserDoesNotExist` is never constructed
[INFO] [stdout]   --> src/web/users.rs:35:2
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum UsersError {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 35 |     UserDoesNotExist,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsersError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pubkey` is never used
[INFO] [stdout]    --> src/web/users.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn get_pubkey(db: &DynamoDB, user_id: UserID) -> Result<lettuce::PublicKey, UsersError> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `share_owner` is never read
[INFO] [stdout]   --> src/web/shares.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PlaintextShare {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 21 |     pub share_owner: UserID,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/web/shares.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |     DynamoError(dynamo::DynamoError)
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharesError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     DynamoError(dynamo::DynamoError)
[INFO] [stdout] 30 +     DynamoError(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FileKey` is never used
[INFO] [stdout]   --> src/web/files.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub type FileKey = String;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HL_FILES_BUCKET` is never used
[INFO] [stdout]   --> src/web/files.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const HL_FILES_BUCKET: &str = "hemlockfiles";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileError` is never used
[INFO] [stdout]   --> src/web/files.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum FileError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file_key` is never used
[INFO] [stdout]   --> src/web/files.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn make_file_key(user_id: UserID, file_id: FileID) -> FileKey {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file_key` is never used
[INFO] [stdout]   --> src/web/files.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn parse_file_key(file_key: FileKey) -> (UserID, FileID) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_client` is never used
[INFO] [stdout]   --> src/web/files.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn make_client() -> Client {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retrieve_file` is never used
[INFO] [stdout]   --> src/web/files.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub async fn retrieve_file(client: &Client, user_id: UserID, file_id: FileID, secret_key: speck::Key, file: &mut File) -> Result<(), File...
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_and_upload` is never used
[INFO] [stdout]   --> src/web/files.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn encrypt_and_upload(client: &Client, user_id: UserID, file_id: FileID, secret_key: speck::Key, file: &mut File) -> Result<(),...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaintextShareStatusEntry` is never constructed
[INFO] [stdout]  --> src/web/share_status.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PlaintextShareStatusEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CiphertextShareStatusEntry` is never constructed
[INFO] [stdout]   --> src/web/share_status.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct CiphertextShareStatusEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decrypt` is never used
[INFO] [stdout]   --> src/web/share_status.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl CiphertextShareStatusEntry {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] 25 |
[INFO] [stdout] 26 |     fn decrypt(&self, key: speck::Key) -> PlaintextShareStatusEntry {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encrypt` is never used
[INFO] [stdout]   --> src/web/share_status.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl PlaintextShareStatusEntry {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] 49 |
[INFO] [stdout] 50 |     fn encrypt(&self, key: speck::Key) -> CiphertextShareStatusEntry {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `download_share_status` is never used
[INFO] [stdout]   --> src/web/share_status.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub async fn download_share_status(db: &DynamoDB, file_id: FileID, owner_id: UserID, group_key: speck::Key) -> Result<PlaintextShareStatu...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upload_share_status` is never used
[INFO] [stdout]    --> src/web/share_status.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub async fn upload_share_status(db: &DynamoDB, entry: PlaintextShareStatusEntry, group_key: speck::Key) -> Result<(), DynamoError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HemlockError` is never used
[INFO] [stdout]  --> src/splitting.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum HemlockError {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_and_share` is never used
[INFO] [stdout]   --> src/splitting.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub async fn split_and_share(file: &mut File, owner_id: UserID, combiner_threshold: usize, recipients: Vec<UserID>) -> Result<(), Hemlock...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_share` is never used
[INFO] [stdout]   --> src/splitting.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub async fn publish_share(file_id: FileID, file_owner: UserID, share: Share256, group_key: speck::Key) -> Result<(), HemlockError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_file` is never used
[INFO] [stdout]   --> src/splitting.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub async fn recover_file(file_id: FileID, file_owner: UserID, group_key: speck::Key, file: &mut File) -> Result<(), HemlockError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 05s
[INFO] running `Command { std: "docker" "inspect" "468fe5853ae7f4873ba57b0df1be44d9813e4bb204752d3e774c39f265c89163", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "468fe5853ae7f4873ba57b0df1be44d9813e4bb204752d3e774c39f265c89163", kill_on_drop: false }`
[INFO] [stdout] 468fe5853ae7f4873ba57b0df1be44d9813e4bb204752d3e774c39f265c89163
