[INFO] cloning repository https://github.com/TommyHaszard/gabber-chat-rust-lib
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TommyHaszard/gabber-chat-rust-lib" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTommyHaszard%2Fgabber-chat-rust-lib", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTommyHaszard%2Fgabber-chat-rust-lib'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fbf37b47a52322cdf7e4b1cae21f217b66502e79
[INFO] testing TommyHaszard/gabber-chat-rust-lib against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTommyHaszard%2Fgabber-chat-rust-lib" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TommyHaszard/gabber-chat-rust-lib
[INFO] finished tweaking git repo https://github.com/TommyHaszard/gabber-chat-rust-lib
[INFO] tweaked toml for git repo https://github.com/TommyHaszard/gabber-chat-rust-lib written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TommyHaszard/gabber-chat-rust-lib on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TommyHaszard/gabber-chat-rust-lib 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d98556f45ebf0edb51122d7a8d1076f13e5530b31fab62e43c54b56529e1302f
[INFO] running `Command { std: "docker" "start" "-a" "d98556f45ebf0edb51122d7a8d1076f13e5530b31fab62e43c54b56529e1302f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d98556f45ebf0edb51122d7a8d1076f13e5530b31fab62e43c54b56529e1302f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d98556f45ebf0edb51122d7a8d1076f13e5530b31fab62e43c54b56529e1302f", kill_on_drop: false }`
[INFO] [stdout] d98556f45ebf0edb51122d7a8d1076f13e5530b31fab62e43c54b56529e1302f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 17d8492c494b6d1f840a2ec2921e059e10d5a685995be17d9bc8a64623970e63
[INFO] running `Command { std: "docker" "start" "-a" "17d8492c494b6d1f840a2ec2921e059e10d5a685995be17d9bc8a64623970e63", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling fs-err v2.11.0
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling plain v0.2.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling cc v1.2.10
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling rustix v1.0.3
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling linux-raw-sys v0.9.3
[INFO] [stderr]    Compiling uniffi_core v0.29.1
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.62
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling r2d2 v0.8.10
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.33.0
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling weedle2 v5.0.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling uniffi_internal_macros v0.29.1
[INFO] [stderr]    Compiling scroll_derive v0.12.0
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling uniffi_meta v0.29.1
[INFO] [stderr]    Compiling scroll v0.12.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling goblin v0.8.2
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling uniffi_udl v0.29.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling rusqlite v0.35.0
[INFO] [stderr]    Compiling rinja_parser v0.3.5
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling r2d2_sqlite v0.28.0
[INFO] [stderr]    Compiling cargo_metadata v0.15.4
[INFO] [stderr]    Compiling uniffi_macros v0.29.1
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling rinja_derive v0.3.5
[INFO] [stderr]    Compiling rinja v0.3.5
[INFO] [stderr]    Compiling uniffi_bindgen v0.29.1
[INFO] [stderr]    Compiling uniffi v0.29.1
[INFO] [stderr]    Compiling uniffi_build v0.29.1
[INFO] [stderr]    Compiling gabber-chat-lib v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]  --> src/libs/core/chat_initalisation.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use x25519_dalek::{PublicKey, StaticSecret};
[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: `hmac::digest::typenum::Mod`
[INFO] [stdout]  --> src/libs/core/models.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use hmac::digest::typenum::Mod;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DatabaseError`
[INFO] [stdout]  --> src/libs/core/models.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::DatabaseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 | use x25519_dalek::{PublicKey, SharedSecret, StaticSecret};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Connection`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::{Connection, Result};
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::OnceCell`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::OnceCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, Once, OnceLock};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage` and `StoreError`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::libs::storage::database::storage_traits::{Storage, StoreError, Transactional};
[INFO] [stdout]   |                                                      ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection` and `Error`
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rusqlite::{params, Connection, Error, OptionalExtension, Result, Transaction};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode::config::standard`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::config::standard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::params`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt` and `format`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, format};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/database/storage_traits.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::storage::database::storage_traits::StoreError::Database`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::libs::storage::database::storage_traits::StoreError::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::uniffi::models::Message`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::libs::uniffi::models::Message;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DHKeyGenerator`
[INFO] [stdout]  --> src/libs/storage/records.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage`, `Transactional`, and `UserStore`
[INFO] [stdout]  --> src/lib.rs:6:47
[INFO] [stdout]   |
[INFO] [stdout] 6 | use libs::storage::database::storage_traits::{Storage, Transactional, UserStore};
[INFO] [stdout]   |                                               ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     mut dh_key_pair_gen: &mut DHKeyGen,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut alice_double_ratchet =
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_user_record`
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let bob_user_record = UserRecord::new(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_user_record`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut bob_double_ratchet =
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice_user_record`
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let alice_user_record = UserRecord::new(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_user_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut chain_manager = SessionChainManager::default();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cks`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         cks: Option<KeySecret>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dhr`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let Some(dhr) = self.dhr {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_dhr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nhk`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:98:23
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let (rk, cks, nhk) = kdf_rk_he(shared_root_key, &dh).unwrap();
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_nhk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:170:30
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let (header, check) = self.try_decrypt_he(&header_enc)?;
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         header: &CipherText,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cipher_text`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         cipher_text: &CipherText,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cipher_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `associated_data`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         associated_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_associated_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/libs/storage/database/database.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     if let Some(db) = DATABASE.get() {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/libs/storage/database/database.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |     sqlite_transaction.commit().map_err(|err| {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_from`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         message_from: &IdentityKey,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn save_message(&mut self, public_key: &PublicKeyInternal, message: MessageRecord) -> Result<(), StoreError> {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/lib.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |         .map_err(|err| DatabaseError::RetrievalError("Try from Slice Error".to_string()))?;
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const KEY_SIZE: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDENTITY_KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const IDENTITY_KEY_SIZE: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QR_KEYS_EXPECTED_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QR_KEYS_EXPECTED_SIZE: usize = KEY_SIZE * 2 + IDENTITY_KEY_SIZE;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatInitError` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ChatInitError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn serialize_keys(key1: &Uuid, key2: &PublicKey) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn deserialize_keys(data: &[u8]) -> Result<(IdentityKey, PublicKey, KeySecret), ChatInitError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn bob_generate_qr_data(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn alice_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn alice_generate_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn bob_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_HEADER_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const HKDF_INFO_ENCRYPTION_HEADER_KEY: &[u8] = b"ENCRYPTION_HEADER_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HmacSha256` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type HmacSha256 = Hmac<Sha256>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const HKDF_INFO_ENCRYPTION_KEY: &[u8] = b"ENCRYPTION_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SECRET_LEN` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const KEY_SECRET_LEN: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_header_key_send` is never read
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct DoubleRatchetHE {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     next_header_key_send: Option<KeySecret>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoubleRatchetHE` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kdf_ck_he` is never used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:304:4
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn kdf_ck_he(chain_key: &KeySecret) -> Result<(KeySecret, KeySecret), DoubleRatchetError> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INIT` is never used
[INFO] [stdout]  --> src/libs/storage/database/database.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static INIT: Once = Once::new();
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pub_key_from_bytes` is never used
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:464:4
[INFO] [stdout]     |
[INFO] [stdout] 464 | fn get_pub_key_from_bytes(pk_bytes: Vec<u8>) -> Result<PublicKey, StoreError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `ChatLib` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `chat_lib`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |             self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 301 |             let _ = self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:172:21
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let _ = self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     self.dh_ratchet(&header);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let _ = self.dh_ratchet(&header);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn inner(&self) -> &Transaction {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                  |         ||
[INFO] [stdout]    |                  |         |the same lifetime is hidden here
[INFO] [stdout]    |                  |         the same lifetime is elided here
[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] 32 |     pub fn inner(&self) -> &Transaction<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "17d8492c494b6d1f840a2ec2921e059e10d5a685995be17d9bc8a64623970e63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17d8492c494b6d1f840a2ec2921e059e10d5a685995be17d9bc8a64623970e63", kill_on_drop: false }`
[INFO] [stdout] 17d8492c494b6d1f840a2ec2921e059e10d5a685995be17d9bc8a64623970e63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] b6694a5c040f47191b9f0b0dc9e05d0865c5d98e81b0e94cf6980da61ec0ed43
[INFO] running `Command { std: "docker" "start" "-a" "b6694a5c040f47191b9f0b0dc9e05d0865c5d98e81b0e94cf6980da61ec0ed43", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]  --> src/libs/core/chat_initalisation.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use x25519_dalek::{PublicKey, StaticSecret};
[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: `hmac::digest::typenum::Mod`
[INFO] [stdout]  --> src/libs/core/models.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use hmac::digest::typenum::Mod;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DatabaseError`
[INFO] [stdout]  --> src/libs/core/models.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::DatabaseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 | use x25519_dalek::{PublicKey, SharedSecret, StaticSecret};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Connection`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::{Connection, Result};
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::OnceCell`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::OnceCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, Once, OnceLock};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage` and `StoreError`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::libs::storage::database::storage_traits::{Storage, StoreError, Transactional};
[INFO] [stdout]   |                                                      ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection` and `Error`
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rusqlite::{params, Connection, Error, OptionalExtension, Result, Transaction};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode::config::standard`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::config::standard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::params`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt` and `format`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, format};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/database/storage_traits.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::storage::database::storage_traits::StoreError::Database`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::libs::storage::database::storage_traits::StoreError::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::uniffi::models::Message`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::libs::uniffi::models::Message;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DHKeyGenerator`
[INFO] [stdout]  --> src/libs/storage/records.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage`, `Transactional`, and `UserStore`
[INFO] [stdout]  --> src/lib.rs:6:47
[INFO] [stdout]   |
[INFO] [stdout] 6 | use libs::storage::database::storage_traits::{Storage, Transactional, UserStore};
[INFO] [stdout]   |                                               ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     mut dh_key_pair_gen: &mut DHKeyGen,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut alice_double_ratchet =
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_user_record`
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let bob_user_record = UserRecord::new(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_user_record`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut bob_double_ratchet =
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice_user_record`
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let alice_user_record = UserRecord::new(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_user_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut chain_manager = SessionChainManager::default();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cks`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         cks: Option<KeySecret>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dhr`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let Some(dhr) = self.dhr {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_dhr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nhk`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:98:23
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let (rk, cks, nhk) = kdf_rk_he(shared_root_key, &dh).unwrap();
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_nhk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:170:30
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let (header, check) = self.try_decrypt_he(&header_enc)?;
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         header: &CipherText,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cipher_text`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         cipher_text: &CipherText,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cipher_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `associated_data`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         associated_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_associated_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/libs/storage/database/database.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     if let Some(db) = DATABASE.get() {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/libs/storage/database/database.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |     sqlite_transaction.commit().map_err(|err| {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_from`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         message_from: &IdentityKey,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn save_message(&mut self, public_key: &PublicKeyInternal, message: MessageRecord) -> Result<(), StoreError> {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/lib.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |         .map_err(|err| DatabaseError::RetrievalError("Try from Slice Error".to_string()))?;
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const KEY_SIZE: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDENTITY_KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const IDENTITY_KEY_SIZE: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QR_KEYS_EXPECTED_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QR_KEYS_EXPECTED_SIZE: usize = KEY_SIZE * 2 + IDENTITY_KEY_SIZE;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatInitError` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ChatInitError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn serialize_keys(key1: &Uuid, key2: &PublicKey) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn deserialize_keys(data: &[u8]) -> Result<(IdentityKey, PublicKey, KeySecret), ChatInitError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn bob_generate_qr_data(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn alice_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn alice_generate_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn bob_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_HEADER_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const HKDF_INFO_ENCRYPTION_HEADER_KEY: &[u8] = b"ENCRYPTION_HEADER_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HmacSha256` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type HmacSha256 = Hmac<Sha256>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const HKDF_INFO_ENCRYPTION_KEY: &[u8] = b"ENCRYPTION_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SECRET_LEN` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const KEY_SECRET_LEN: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_header_key_send` is never read
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct DoubleRatchetHE {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     next_header_key_send: Option<KeySecret>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoubleRatchetHE` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kdf_ck_he` is never used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:304:4
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn kdf_ck_he(chain_key: &KeySecret) -> Result<(KeySecret, KeySecret), DoubleRatchetError> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INIT` is never used
[INFO] [stdout]  --> src/libs/storage/database/database.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static INIT: Once = Once::new();
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pub_key_from_bytes` is never used
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:464:4
[INFO] [stdout]     |
[INFO] [stdout] 464 | fn get_pub_key_from_bytes(pk_bytes: Vec<u8>) -> Result<PublicKey, StoreError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `ChatLib` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `chat_lib`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |             self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 301 |             let _ = self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:172:21
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let _ = self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     self.dh_ratchet(&header);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let _ = self.dh_ratchet(&header);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn inner(&self) -> &Transaction {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                  |         ||
[INFO] [stdout]    |                  |         |the same lifetime is hidden here
[INFO] [stdout]    |                  |         the same lifetime is elided here
[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] 32 |     pub fn inner(&self) -> &Transaction<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gabber-chat-lib v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chacha20poly1305::aead::rand_core::RngCore`
[INFO] [stdout]  --> tests/load_latest_message_for_user_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chacha20poly1305::aead::rand_core::RngCore;
[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: `DHKeyGenerator`
[INFO] [stdout]  --> tests/load_latest_message_for_user_test.rs:9:49
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ChatLib::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet, RealKeyGenerator};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::Connection`
[INFO] [stdout]  --> tests/common/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::Connection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChatLib::libs::storage::database::database::DATABASE`
[INFO] [stdout]  --> tests/common/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ChatLib::libs::storage::database::database::DATABASE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::Connection`
[INFO] [stdout]  --> tests/common/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::Connection;
[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: `ChatLib::libs::storage::database::database::DATABASE`
[INFO] [stdout]  --> tests/common/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ChatLib::libs::storage::database::database::DATABASE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> tests/database.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserRecord`
[INFO] [stdout]   --> tests/database.rs:13:54
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ChatLib::libs::storage::records::{SessionRecord, UserRecord};
[INFO] [stdout]    |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChatLib::*`
[INFO] [stdout]   --> tests/database.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ChatLib::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:209:39
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let message_type = if rng.gen() {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/database.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/database.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]    |          ----^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/database.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice_ad`
[INFO] [stdout]   --> tests/database.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let alice_ad = b"ALICE_ASSOCIATED_DATA";
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_ad`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_ad`
[INFO] [stdout]   --> tests/database.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut real_gen = RealKeyGenerator::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice`
[INFO] [stdout]   --> tests/database.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice`
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let (alice, bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:375:10
[INFO] [stdout]     |
[INFO] [stdout] 375 |     for (i, message) in messages_to_send.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let mut tx = SqliteTransaction::new(connection).expect("Failed to create cleanup transaction");
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bob_ad` is never read
[INFO] [stdout]   --> tests/load_latest_message_for_user_test.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct TestData {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     bob_ad: &'static [u8],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_user_creation_and_session_management` is never used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:241:4
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn test_user_creation_and_session_management() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_message_storage_and_encryption` is never used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:276:4
[INFO] [stdout]     |
[INFO] [stdout] 276 | fn test_message_storage_and_encryption() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_session_state_persistence` is never used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:427:4
[INFO] [stdout]     |
[INFO] [stdout] 427 | fn test_session_state_persistence() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_test_db_connection` is never used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:481:4
[INFO] [stdout]     |
[INFO] [stdout] 481 | fn cleanup_test_db_connection(connection: &mut PooledConnection<SqliteConnectionManager>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_test_db` is never used
[INFO] [stdout]   --> tests/common/mod.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn cleanup_test_db(sqlite_transaction: SqliteTransaction) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/database.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/database.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |          ----^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/database.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice_ad`
[INFO] [stdout]    --> tests/database.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let alice_ad = b"ALICE_ASSOCIATED_DATA";
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_ad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_ad`
[INFO] [stdout]    --> tests/database.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice`
[INFO] [stdout]    --> tests/database.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/load_latest_message_for_user_test.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     tx.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 71 |     let _ = tx.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/load_latest_message_for_user_test.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     tx.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = tx.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/load_latest_message_for_user_test.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     tx.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let _ = tx.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     tx.store_message(public_key, message_type, content);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = tx.store_message(public_key, message_type, content);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     tx.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let _ = tx.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     tx.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let _ = tx.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     tx.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let _ = tx.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     tx.store_session(session);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let _ = tx.store_session(session);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/load_latest_message_for_user_test.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     tx.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let _ = tx.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     init_database(db_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = init_database(db_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/database.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     tx_1.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 54 |     let _ = tx_1.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/database.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     tx_2.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let _ = tx_2.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/database.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     tx_1.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let _ = tx_1.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/database.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     tx_2.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let _ = tx_2.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/database.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     tx_1.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let _ = tx_1.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/database.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     tx_2.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = tx_2.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     init_database(db_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = init_database(db_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]  --> src/libs/core/chat_initalisation.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use x25519_dalek::{PublicKey, StaticSecret};
[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: `hmac::digest::typenum::Mod`
[INFO] [stdout]  --> src/libs/core/models.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use hmac::digest::typenum::Mod;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DatabaseError`
[INFO] [stdout]  --> src/libs/core/models.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::DatabaseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AeadCore`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use hmac::digest::{Key, KeyInit};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `format`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::{format, Debug, Formatter};
[INFO] [stdout]    |                ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::write`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ptr::write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StaticSecret`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 | use x25519_dalek::{PublicKey, SharedSecret, StaticSecret};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Connection`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::{Connection, Result};
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::OnceCell`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::OnceCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, Once, OnceLock};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage` and `StoreError`
[INFO] [stdout]  --> src/libs/storage/database/database.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::libs::storage::database::storage_traits::{Storage, StoreError, Transactional};
[INFO] [stdout]   |                                                      ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection` and `Error`
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rusqlite::{params, Connection, Error, OptionalExtension, Result, Transaction};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode::config::standard`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::config::standard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::params`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt` and `format`
[INFO] [stdout]  --> src/libs/storage/database/storage_traits.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, format};
[INFO] [stdout]   |           ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/database/storage_traits.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::storage::database::storage_traits::StoreError::Database`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::libs::storage::database::storage_traits::StoreError::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/libs/storage/lib_sqlite_impl.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use x25519_dalek::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libs::uniffi::models::Message`
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::libs::uniffi::models::Message;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DHKeyGenerator`
[INFO] [stdout]  --> src/libs/storage/records.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Storage`, `Transactional`, and `UserStore`
[INFO] [stdout]  --> src/lib.rs:6:47
[INFO] [stdout]   |
[INFO] [stdout] 6 | use libs::storage::database::storage_traits::{Storage, Transactional, UserStore};
[INFO] [stdout]   |                                               ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::Connection`
[INFO] [stdout]  --> tests/common/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::Connection;
[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: `ChatLib::libs::storage::database::database::DATABASE`
[INFO] [stdout]  --> tests/common/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ChatLib::libs::storage::database::database::DATABASE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::OsRng`
[INFO] [stdout]  --> tests/ratchet_encryption.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::rngs::OsRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::TryRngCore`
[INFO] [stdout]  --> tests/ratchet_encryption.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::TryRngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> tests/ratchet_encryption.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/ratchet_encryption.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let (mut alice, mut bob) = ratchet_init(real_gen);
[INFO] [stdout]    |          ----^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice`
[INFO] [stdout]   --> tests/ratchet_encryption.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let (mut alice, mut bob) = ratchet_init(real_gen);
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aaa_init` is never used
[INFO] [stdout]   --> tests/common/mod.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn aaa_init(init: &Once, dir: &str, prefix: &str) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_test_db` is never used
[INFO] [stdout]   --> tests/common/mod.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn cleanup_test_db(sqlite_transaction: SqliteTransaction) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chacha20poly1305::aead::rand_core::RngCore`
[INFO] [stdout]  --> tests/integration_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chacha20poly1305::aead::rand_core::RngCore;
[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: `DHKeyGenerator`
[INFO] [stdout]  --> tests/integration_test.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ChatLib::libs::encryption::double_ratchet::{DHKeyGenerator, RealKeyGenerator};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::Connection`
[INFO] [stdout]  --> tests/common/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rusqlite::Connection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChatLib::libs::storage::database::database::DATABASE`
[INFO] [stdout]  --> tests/common/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ChatLib::libs::storage::database::database::DATABASE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     init_database(db_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 32 |     let _ = init_database(db_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/integration_test.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_ad`
[INFO] [stdout]   --> tests/integration_test.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/integration_test.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/integration_test.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let mut bob_session_retrieved2 = tx_5
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_ad`
[INFO] [stdout]    --> tests/integration_test.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/integration_test.rs:249:21
[INFO] [stdout]     |
[INFO] [stdout] 249 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/integration_test.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let mut bob_session_retrieved2 = tx_5
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_ad`
[INFO] [stdout]    --> tests/integration_test.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer`
[INFO] [stdout]  --> src/libs/encryption/double_ratchet_header.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     mut dh_key_pair_gen: &mut DHKeyGen,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut alice_double_ratchet =
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_user_record`
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let bob_user_record = UserRecord::new(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_user_record`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut bob_double_ratchet =
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice_user_record`
[INFO] [stdout]    --> src/libs/core/chat_initalisation.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let alice_user_record = UserRecord::new(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_user_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/integration_test.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     tx_1.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 36 |     let _ = tx_1.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     tx_1.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let _ = tx_1.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let _ = tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     tx_3.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = tx_3.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     tx_4.store_session(&bob_session_retrieved);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let _ = tx_4.store_session(&bob_session_retrieved);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     tx_4.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let _ = tx_4.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let _ = tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     tx_5.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let _ = tx_5.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     tx_1.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let _ = tx_1.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |     let _ = tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     tx_3.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 267 |     let _ = tx_3.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 |     tx_4.store_session(&bob_session_retrieved);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let _ = tx_4.store_session(&bob_session_retrieved);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 302 |     tx_4.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let _ = tx_4.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 320 |     let _ = tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/integration_test.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     tx_5.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let _ = tx_5.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     init_database(db_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = init_database(db_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/common/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut chain_manager = SessionChainManager::default();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cks`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         cks: Option<KeySecret>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dhr`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let Some(dhr) = self.dhr {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_dhr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nhk`
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:98:23
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let (rk, cks, nhk) = kdf_rk_he(shared_root_key, &dh).unwrap();
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_nhk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:170:30
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let (header, check) = self.try_decrypt_he(&header_enc)?;
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         header: &CipherText,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cipher_text`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         cipher_text: &CipherText,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cipher_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `associated_data`
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         associated_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_associated_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/libs/storage/database/database.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     if let Some(db) = DATABASE.get() {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/libs/storage/database/database.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |     sqlite_transaction.commit().map_err(|err| {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_from`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         message_from: &IdentityKey,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn save_message(&mut self, public_key: &PublicKeyInternal, message: MessageRecord) -> Result<(), StoreError> {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/lib.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |         .map_err(|err| DatabaseError::RetrievalError("Try from Slice Error".to_string()))?;
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const KEY_SIZE: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDENTITY_KEY_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const IDENTITY_KEY_SIZE: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QR_KEYS_EXPECTED_SIZE` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QR_KEYS_EXPECTED_SIZE: usize = KEY_SIZE * 2 + IDENTITY_KEY_SIZE;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatInitError` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ChatInitError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn serialize_keys(key1: &Uuid, key2: &PublicKey) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_keys` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn deserialize_keys(data: &[u8]) -> Result<(IdentityKey, PublicKey, KeySecret), ChatInitError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn bob_generate_qr_data(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn alice_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alice_generate_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn alice_generate_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bob_init_from_qr_data` is never used
[INFO] [stdout]   --> src/libs/core/chat_initalisation.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn bob_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_HEADER_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const HKDF_INFO_ENCRYPTION_HEADER_KEY: &[u8] = b"ENCRYPTION_HEADER_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HmacSha256` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type HmacSha256 = Hmac<Sha256>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HKDF_INFO_ENCRYPTION_KEY` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const HKDF_INFO_ENCRYPTION_KEY: &[u8] = b"ENCRYPTION_KEY";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SECRET_LEN` is never used
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const KEY_SECRET_LEN: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_header_key_send` is never read
[INFO] [stdout]   --> src/libs/encryption/double_ratchet_header.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct DoubleRatchetHE {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     next_header_key_send: Option<KeySecret>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoubleRatchetHE` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kdf_ck_he` is never used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:304:4
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn kdf_ck_he(chain_key: &KeySecret) -> Result<(KeySecret, KeySecret), DoubleRatchetError> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INIT` is never used
[INFO] [stdout]  --> src/libs/storage/database/database.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | static INIT: Once = Once::new();
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pub_key_from_bytes` is never used
[INFO] [stdout]    --> src/libs/storage/database/storage_sqllite.rs:464:4
[INFO] [stdout]     |
[INFO] [stdout] 464 | fn get_pub_key_from_bytes(pk_bytes: Vec<u8>) -> Result<PublicKey, StoreError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |             self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 301 |             let _ = self.dh_ratchet(&header, dh_key_generator);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:172:21
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let _ = self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     self.dh_ratchet(&header);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let _ = self.dh_ratchet(&header);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/encryption/double_ratchet_header.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = self.skip_message_keys_he(header.message_number);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/libs/storage/database/storage_sqllite.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn inner(&self) -> &Transaction {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                  |         ||
[INFO] [stdout]    |                  |         |the same lifetime is hidden here
[INFO] [stdout]    |                  |         the same lifetime is elided here
[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] 32 |     pub fn inner(&self) -> &Transaction<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/libs/storage/lib_sqlite_impl.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     sqlite_transaction.commit();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/libs/storage/lib_sqlite_impl.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     sqlite_transaction.commit();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let _ = sqlite_transaction.commit();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.95s
[INFO] running `Command { std: "docker" "inspect" "b6694a5c040f47191b9f0b0dc9e05d0865c5d98e81b0e94cf6980da61ec0ed43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6694a5c040f47191b9f0b0dc9e05d0865c5d98e81b0e94cf6980da61ec0ed43", kill_on_drop: false }`
[INFO] [stdout] b6694a5c040f47191b9f0b0dc9e05d0865c5d98e81b0e94cf6980da61ec0ed43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] d3e7861916f30c8b1e74922b00474ca2eceb554628d27248c459693299fbfa15
[INFO] running `Command { std: "docker" "start" "-a" "d3e7861916f30c8b1e74922b00474ca2eceb554628d27248c459693299fbfa15", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `StaticSecret`
[INFO] [stderr]  --> src/libs/core/chat_initalisation.rs:8:31
[INFO] [stderr]   |
[INFO] [stderr] 8 | use x25519_dalek::{PublicKey, StaticSecret};
[INFO] [stderr]   |                               ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `hmac::digest::typenum::Mod`
[INFO] [stderr]  --> src/libs/core/models.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use hmac::digest::typenum::Mod;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::DatabaseError`
[INFO] [stderr]  --> src/libs/core/models.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::DatabaseError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AeadCore`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet.rs:2:24
[INFO] [stderr]   |
[INFO] [stderr] 2 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Key`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet.rs:4:20
[INFO] [stderr]   |
[INFO] [stderr] 4 | use hmac::digest::{Key, KeyInit};
[INFO] [stderr]   |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `format`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::fmt::{format, Debug, Formatter};
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::write`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::ptr::write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Payload`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet_header.rs:5:44
[INFO] [stderr]   |
[INFO] [stderr] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stderr]   |                                            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AeadCore`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet_header.rs:6:24
[INFO] [stderr]   |
[INFO] [stderr] 6 | use chacha20poly1305::{AeadCore, ChaCha20Poly1305, Nonce};
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Key`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet_header.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 | use hmac::digest::{Key, KeyInit};
[INFO] [stderr]   |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | use serde::{Deserialize, Serialize};
[INFO] [stderr]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Debug` and `format`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:14:16
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::fmt::{format, Debug, Formatter};
[INFO] [stderr]    |                ^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::write`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::ptr::write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StaticSecret`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:16:45
[INFO] [stderr]    |
[INFO] [stderr] 16 | use x25519_dalek::{PublicKey, SharedSecret, StaticSecret};
[INFO] [stderr]    |                                             ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Connection`
[INFO] [stderr]  --> src/libs/storage/database/database.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rusqlite::{Connection, Result};
[INFO] [stderr]   |                ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::OnceCell`
[INFO] [stderr]  --> src/libs/storage/database/database.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cell::OnceCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/libs/storage/database/database.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::{Mutex, Once, OnceLock};
[INFO] [stderr]   |                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Storage` and `StoreError`
[INFO] [stderr]  --> src/libs/storage/database/database.rs:6:54
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::libs::storage::database::storage_traits::{Storage, StoreError, Transactional};
[INFO] [stderr]   |                                                      ^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Connection` and `Error`
[INFO] [stderr]   --> src/libs/storage/database/storage_sqllite.rs:15:24
[INFO] [stderr]    |
[INFO] [stderr] 15 | use rusqlite::{params, Connection, Error, OptionalExtension, Result, Transaction};
[INFO] [stderr]    |                        ^^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bincode::config::standard`
[INFO] [stderr]  --> src/libs/storage/database/storage_traits.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use bincode::config::standard;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rusqlite::params`
[INFO] [stderr]  --> src/libs/storage/database/storage_traits.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rusqlite::params;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fmt` and `format`
[INFO] [stderr]  --> src/libs/storage/database/storage_traits.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::{fmt, format};
[INFO] [stderr]   |           ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stderr]   --> src/libs/storage/database/storage_traits.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use x25519_dalek::PublicKey;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::libs::storage::database::storage_traits::StoreError::Database`
[INFO] [stderr]  --> src/libs/storage/lib_sqlite_impl.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::libs::storage::database::storage_traits::StoreError::Database;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/libs/storage/lib_sqlite_impl.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `x25519_dalek::PublicKey`
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use x25519_dalek::PublicKey;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::libs::uniffi::models::Message`
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::libs::uniffi::models::Message;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DHKeyGenerator`
[INFO] [stderr]  --> src/libs/storage/records.rs:2:47
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet};
[INFO] [stderr]   |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Storage`, `Transactional`, and `UserStore`
[INFO] [stderr]  --> src/lib.rs:6:47
[INFO] [stderr]   |
[INFO] [stderr] 6 | use libs::storage::database::storage_traits::{Storage, Transactional, UserStore};
[INFO] [stderr]   |                                               ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Buffer`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet.rs:1:36
[INFO] [stderr]   |
[INFO] [stderr] 1 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stderr]   |                                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | use sha2::{Digest, Sha256};
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Buffer`
[INFO] [stderr]  --> src/libs/encryption/double_ratchet_header.rs:5:36
[INFO] [stderr]   |
[INFO] [stderr] 5 | use chacha20poly1305::aead::{Aead, Buffer, Payload};
[INFO] [stderr]   |                                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     mut dh_key_pair_gen: &mut DHKeyGen,
[INFO] [stderr]    |     ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 |     let mut alice_double_ratchet =
[INFO] [stderr]    |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_user_record`
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let bob_user_record = UserRecord::new(
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_user_record`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/libs/core/chat_initalisation.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut bob_double_ratchet =
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice_user_record`
[INFO] [stderr]    --> src/libs/core/chat_initalisation.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let alice_user_record = UserRecord::new(
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_user_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/libs/encryption/double_ratchet.rs:207:13
[INFO] [stderr]     |
[INFO] [stderr] 207 |         let mut chain_manager = SessionChainManager::default();
[INFO] [stderr]     |             ----^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cks`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |         cks: Option<KeySecret>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_cks`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dhr`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet.rs:229:21
[INFO] [stderr]     |
[INFO] [stderr] 229 |         if let Some(dhr) = self.dhr {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_dhr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nhk`
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:98:23
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let (rk, cks, nhk) = kdf_rk_he(shared_root_key, &dh).unwrap();
[INFO] [stderr]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_nhk`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `check`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:170:30
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 let (header, check) = self.try_decrypt_he(&header_enc)?;
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_check`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         header: &CipherText,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cipher_text`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |         cipher_text: &CipherText,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cipher_text`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `associated_data`
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |         associated_data: &[u8],
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_associated_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db`
[INFO] [stderr]   --> src/libs/storage/database/database.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 |     if let Some(db) = DATABASE.get() {
[INFO] [stderr]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/libs/storage/database/database.rs:173:42
[INFO] [stderr]     |
[INFO] [stderr] 173 |     sqlite_transaction.commit().map_err(|err| {
[INFO] [stderr]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message_from`
[INFO] [stderr]    --> src/libs/storage/database/storage_sqllite.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |         message_from: &IdentityKey,
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_from`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stmt`
[INFO] [stderr]    --> src/libs/storage/database/storage_sqllite.rs:189:13
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let mut stmt = self.tx.prepare(
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `public_key`
[INFO] [stderr]    --> src/libs/storage/database/storage_sqllite.rs:442:32
[INFO] [stderr]     |
[INFO] [stderr] 442 |     fn save_message(&mut self, public_key: &PublicKeyInternal, message: MessageRecord) -> Result<(), StoreError> {
[INFO] [stderr]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/lib.rs:151:19
[INFO] [stderr]     |
[INFO] [stderr] 151 |         .map_err(|err| DatabaseError::RetrievalError("Try from Slice Error".to_string()))?;
[INFO] [stderr]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KEY_SIZE` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const KEY_SIZE: usize = 32;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IDENTITY_KEY_SIZE` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const IDENTITY_KEY_SIZE: usize = 16;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QR_KEYS_EXPECTED_SIZE` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const QR_KEYS_EXPECTED_SIZE: usize = KEY_SIZE * 2 + IDENTITY_KEY_SIZE;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ChatInitError` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum ChatInitError {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `serialize_keys` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn serialize_keys(key1: &Uuid, key2: &PublicKey) -> Vec<u8> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `deserialize_keys` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn deserialize_keys(data: &[u8]) -> Result<(IdentityKey, PublicKey, KeySecret), ChatInitError> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bob_generate_qr_data` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:57:4
[INFO] [stderr]    |
[INFO] [stderr] 57 | fn bob_generate_qr_data(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `alice_init_from_qr_data` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:67:4
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn alice_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `alice_generate_qr_data` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:87:4
[INFO] [stderr]    |
[INFO] [stderr] 87 | fn alice_generate_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bob_init_from_qr_data` is never used
[INFO] [stderr]   --> src/libs/core/chat_initalisation.rs:94:4
[INFO] [stderr]    |
[INFO] [stderr] 94 | fn bob_init_from_qr_data<DHKeyGen: DHKeyGenerator>(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HKDF_INFO_ENCRYPTION_HEADER_KEY` is never used
[INFO] [stderr]   --> src/libs/encryption/double_ratchet.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | const HKDF_INFO_ENCRYPTION_HEADER_KEY: &[u8] = b"ENCRYPTION_HEADER_KEY";
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `HmacSha256` is never used
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:29:6
[INFO] [stderr]    |
[INFO] [stderr] 29 | type HmacSha256 = Hmac<Sha256>;
[INFO] [stderr]    |      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HKDF_INFO_ENCRYPTION_KEY` is never used
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:51:7
[INFO] [stderr]    |
[INFO] [stderr] 51 | const HKDF_INFO_ENCRYPTION_KEY: &[u8] = b"ENCRYPTION_KEY";
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KEY_SECRET_LEN` is never used
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:53:7
[INFO] [stderr]    |
[INFO] [stderr] 53 | const KEY_SECRET_LEN: usize = 32;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `next_header_key_send` is never read
[INFO] [stderr]   --> src/libs/encryption/double_ratchet_header.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub struct DoubleRatchetHE {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 85 |     next_header_key_send: Option<KeySecret>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DoubleRatchetHE` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `kdf_ck_he` is never used
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:304:4
[INFO] [stderr]     |
[INFO] [stderr] 304 | fn kdf_ck_he(chain_key: &KeySecret) -> Result<(KeySecret, KeySecret), DoubleRatchetError> {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `INIT` is never used
[INFO] [stderr]  --> src/libs/storage/database/database.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | static INIT: Once = Once::new();
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_pub_key_from_bytes` is never used
[INFO] [stderr]    --> src/libs/storage/database/storage_sqllite.rs:464:4
[INFO] [stderr]     |
[INFO] [stderr] 464 | fn get_pub_key_from_bytes(pk_bytes: Vec<u8>) -> Result<PublicKey, StoreError> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `ChatLib` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `chat_lib`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/encryption/double_ratchet.rs:301:13
[INFO] [stderr]     |
[INFO] [stderr] 301 |             self.dh_ratchet(&header, dh_key_generator);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 301 |             let _ = self.dh_ratchet(&header, dh_key_generator);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:172:21
[INFO] [stderr]     |
[INFO] [stderr] 172 |                     self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 172 |                     let _ = self.skip_message_keys_he(header.prev_chain_number);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:173:21
[INFO] [stderr]     |
[INFO] [stderr] 173 |                     self.dh_ratchet(&header);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 173 |                     let _ = self.dh_ratchet(&header);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/encryption/double_ratchet_header.rs:176:17
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 self.skip_message_keys_he(header.message_number);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 let _ = self.skip_message_keys_he(header.message_number);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/libs/storage/database/storage_sqllite.rs:32:18
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn inner(&self) -> &Transaction {
[INFO] [stderr]    |                  ^^^^^     ^^^^^^^^^^^^
[INFO] [stderr]    |                  |         ||
[INFO] [stderr]    |                  |         |the same lifetime is hidden here
[INFO] [stderr]    |                  |         the same lifetime is elided here
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn inner(&self) -> &Transaction<'_> {
[INFO] [stderr]    |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     sqlite_transaction.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     sqlite_transaction.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 42 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     sqlite_transaction.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 79 |     sqlite_transaction.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 79 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/libs/storage/lib_sqlite_impl.rs:94:5
[INFO] [stderr]    |
[INFO] [stderr] 94 |     sqlite_transaction.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 94 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/storage/lib_sqlite_impl.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     sqlite_transaction.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 109 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/storage/lib_sqlite_impl.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     sqlite_transaction.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 126 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/libs/storage/lib_sqlite_impl.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     sqlite_transaction.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 138 |     let _ = sqlite_transaction.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `gabber-chat-lib` (lib) generated 84 warnings (run `cargo fix --lib -p gabber-chat-lib` to apply 50 suggestions)
[INFO] [stderr] warning: `gabber-chat-lib` (lib test) generated 83 warnings (83 duplicates)
[INFO] [stderr] warning: unused import: `rusqlite::Connection`
[INFO] [stderr]  --> tests/common/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rusqlite::Connection;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ChatLib::libs::storage::database::database::DATABASE`
[INFO] [stderr]  --> tests/common/mod.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ChatLib::libs::storage::database::database::DATABASE;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::rngs::OsRng`
[INFO] [stderr]  --> tests/ratchet_encryption.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rand::rngs::OsRng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::TryRngCore`
[INFO] [stderr]  --> tests/ratchet_encryption.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rand::TryRngCore;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> tests/ratchet_encryption.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/ratchet_encryption.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let (mut alice, mut bob) = ratchet_init(real_gen);
[INFO] [stderr]    |          ----^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice`
[INFO] [stderr]   --> tests/ratchet_encryption.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let (mut alice, mut bob) = ratchet_init(real_gen);
[INFO] [stderr]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `aaa_init` is never used
[INFO] [stderr]   --> tests/common/mod.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn aaa_init(init: &Once, dir: &str, prefix: &str) {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `cleanup_test_db` is never used
[INFO] [stderr]   --> tests/common/mod.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn cleanup_test_db(sqlite_transaction: SqliteTransaction) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/common/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     init_database(db_path.clone());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let _ = init_database(db_path.clone());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/common/mod.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 62 |     let _ = OsRng.try_fill_bytes(&mut shared_key);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]  --> tests/database.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use uuid::Uuid;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UserRecord`
[INFO] [stderr]   --> tests/database.rs:13:54
[INFO] [stderr]    |
[INFO] [stderr] 13 | use ChatLib::libs::storage::records::{SessionRecord, UserRecord};
[INFO] [stderr]    |                                                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ChatLib::*`
[INFO] [stderr]   --> tests/database.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use ChatLib::*;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/database.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/database.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]    |          ----^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/database.rs:67:21
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]    |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice_ad`
[INFO] [stderr]   --> tests/database.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let alice_ad = b"ALICE_ASSOCIATED_DATA";
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_ad`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_ad`
[INFO] [stderr]   --> tests/database.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice`
[INFO] [stderr]   --> tests/database.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/database.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stderr]     |         ----^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/database.rs:168:10
[INFO] [stderr]     |
[INFO] [stderr] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |          ----^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/database.rs:168:21
[INFO] [stderr]     |
[INFO] [stderr] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice_ad`
[INFO] [stderr]    --> tests/database.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |     let alice_ad = b"ALICE_ASSOCIATED_DATA";
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_ad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_ad`
[INFO] [stderr]    --> tests/database.rs:166:9
[INFO] [stderr]     |
[INFO] [stderr] 166 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice`
[INFO] [stderr]    --> tests/database.rs:168:10
[INFO] [stderr]     |
[INFO] [stderr] 168 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/database.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     tx_1.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 54 |     let _ = tx_1.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/database.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     tx_2.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 78 |     let _ = tx_2.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/database.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 |     tx_1.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let _ = tx_1.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/database.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     tx_2.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let _ = tx_2.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/database.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 155 |     tx_1.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let _ = tx_1.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/database.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 179 |     tx_2.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 179 |     let _ = tx_2.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/common/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     init_database(db_path.clone());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let _ = init_database(db_path.clone());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chacha20poly1305::aead::rand_core::RngCore`
[INFO] [stderr]  --> tests/load_latest_message_for_user_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use chacha20poly1305::aead::rand_core::RngCore;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DHKeyGenerator`
[INFO] [stderr]  --> tests/load_latest_message_for_user_test.rs:9:49
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ChatLib::libs::encryption::double_ratchet::{DHKeyGenerator, DoubleRatchet, RealKeyGenerator};
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rusqlite::Connection`
[INFO] [stderr]  --> tests/common/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rusqlite::Connection;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:177:25
[INFO] [stderr]     |
[INFO] [stderr] 177 |     let mut rng = rand::thread_rng();
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:209:39
[INFO] [stderr]     |
[INFO] [stderr] 209 |             let message_type = if rng.gen() {
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:186:13
[INFO] [stderr]     |
[INFO] [stderr] 186 |         let mut real_gen = RealKeyGenerator::new();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |     let mut real_gen = RealKeyGenerator::new();
[INFO] [stderr]     |         ----^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice`
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:246:10
[INFO] [stderr]     |
[INFO] [stderr] 246 |     let (alice, bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:375:10
[INFO] [stderr]     |
[INFO] [stderr] 375 |     for (i, message) in messages_to_send.iter().enumerate() {
[INFO] [stderr]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:482:9
[INFO] [stderr]     |
[INFO] [stderr] 482 |     let mut tx = SqliteTransaction::new(connection).expect("Failed to create cleanup transaction");
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `bob_ad` is never read
[INFO] [stderr]   --> tests/load_latest_message_for_user_test.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct TestData {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     bob_ad: &'static [u8],
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_user_creation_and_session_management` is never used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:241:4
[INFO] [stderr]     |
[INFO] [stderr] 241 | fn test_user_creation_and_session_management() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_message_storage_and_encryption` is never used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:276:4
[INFO] [stderr]     |
[INFO] [stderr] 276 | fn test_message_storage_and_encryption() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_session_state_persistence` is never used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:427:4
[INFO] [stderr]     |
[INFO] [stderr] 427 | fn test_session_state_persistence() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cleanup_test_db_connection` is never used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:481:4
[INFO] [stderr]     |
[INFO] [stderr] 481 | fn cleanup_test_db_connection(connection: &mut PooledConnection<SqliteConnectionManager>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/load_latest_message_for_user_test.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     tx.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 71 |     let _ = tx.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/load_latest_message_for_user_test.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     tx.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let _ = tx.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/load_latest_message_for_user_test.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     tx.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let _ = tx.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr] 106 |     tx.store_message(public_key, message_type, content);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 106 |     let _ = tx.store_message(public_key, message_type, content);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 107 |     tx.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let _ = tx.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 |     tx.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 121 |     let _ = tx.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     tx.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 135 |     let _ = tx.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 |     tx.store_session(session);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let _ = tx.store_session(session);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/load_latest_message_for_user_test.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 |     tx.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let _ = tx.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chacha20poly1305::aead::rand_core::RngCore`
[INFO] [stderr]  --> tests/integration_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use chacha20poly1305::aead::rand_core::RngCore;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DHKeyGenerator`
[INFO] [stderr]  --> tests/integration_test.rs:5:49
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ChatLib::libs::encryption::double_ratchet::{DHKeyGenerator, RealKeyGenerator};
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/integration_test.rs:49:21
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]    |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_ad`
[INFO] [stderr]   --> tests/integration_test.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/integration_test.rs:115:21
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/integration_test.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |     let mut bob_session_retrieved2 = tx_5
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_ad`
[INFO] [stderr]    --> tests/integration_test.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/integration_test.rs:249:21
[INFO] [stderr]     |
[INFO] [stderr] 249 |     let (mut alice, mut bob_double_ratchet) = ratchet_init(real_gen);
[INFO] [stderr]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/integration_test.rs:307:9
[INFO] [stderr]     |
[INFO] [stderr] 307 |     let mut bob_session_retrieved2 = tx_5
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bob_ad`
[INFO] [stderr]    --> tests/integration_test.rs:247:9
[INFO] [stderr]     |
[INFO] [stderr] 247 |     let bob_ad = b"BOB_ASSOCIATED_DATA";
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_ad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/integration_test.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     tx_1.commit();
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let _ = tx_1.commit();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 102 |     tx_1.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let _ = tx_1.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 132 |     let _ = tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     tx_3.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 133 |     let _ = tx_3.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     tx_4.store_session(&bob_session_retrieved);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |     let _ = tx_4.store_session(&bob_session_retrieved);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 |     tx_4.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 168 |     let _ = tx_4.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 185 |     let _ = tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 |     tx_5.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let _ = tx_5.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:236:5
[INFO] [stderr]     |
[INFO] [stderr] 236 |     tx_1.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 236 |     let _ = tx_1.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:266:5
[INFO] [stderr]     |
[INFO] [stderr] 266 |     tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 266 |     let _ = tx_3.store_message(&public_key_internal, &MessageType::Sent, &message1);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:267:5
[INFO] [stderr]     |
[INFO] [stderr] 267 |     tx_3.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 267 |     let _ = tx_3.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:301:5
[INFO] [stderr]     |
[INFO] [stderr] 301 |     tx_4.store_session(&bob_session_retrieved);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 301 |     let _ = tx_4.store_session(&bob_session_retrieved);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:302:5
[INFO] [stderr]     |
[INFO] [stderr] 302 |     tx_4.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 302 |     let _ = tx_4.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:320:5
[INFO] [stderr]     |
[INFO] [stderr] 320 |     tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 320 |     let _ = tx_5.store_message(&public_key_internal, &MessageType::Sent, &message_2);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/integration_test.rs:321:5
[INFO] [stderr]     |
[INFO] [stderr] 321 |     tx_5.commit();
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 321 |     let _ = tx_5.commit();
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `gabber-chat-lib` (test "ratchet_encryption") generated 11 warnings (run `cargo fix --test "ratchet_encryption" -p gabber-chat-lib` to apply 7 suggestions)
[INFO] [stderr] warning: `gabber-chat-lib` (test "database") generated 25 warnings (3 duplicates) (run `cargo fix --test "database" -p gabber-chat-lib` to apply 15 suggestions)
[INFO] [stderr] warning: `gabber-chat-lib` (test "load_latest_message_for_user_test") generated 28 warnings (4 duplicates) (run `cargo fix --test "load_latest_message_for_user_test" -p gabber-chat-lib` to apply 8 suggestions)
[INFO] [stderr] warning: `gabber-chat-lib` (test "integration_test") generated 29 warnings (4 duplicates) (run `cargo fix --test "integration_test" -p gabber-chat-lib` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/gabber-chat-lib/cf16f7677bb474b9/deps/ChatLib-cf16f7677bb474b9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests uniffi-bindgen.rs (/opt/rustwide/target/debug/build/gabber-chat-lib/151d280569f3af66/deps/uniffi-151d280569f3af66)
[INFO] [stderr]      Running tests/database.rs (/opt/rustwide/target/debug/build/gabber-chat-lib/58e8bd9ec9a56f03/deps/database-58e8bd9ec9a56f03)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_storing_retrieving_message ... FAILED
[INFO] [stdout] test aaa_db_initalisation ... FAILED
[INFO] [stdout] test test_storing_retrieving_session ... FAILED
[INFO] [stdout] test test_symmetric_chain_storage ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_storing_retrieving_message stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_storing_retrieving_message' (27) panicked at tests/database.rs:92:40:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e9600d37d92 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e9600d37d92 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e9600d4dd4a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e9600d4dd4a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5e9600d3cdd6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e9600d3cdd6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e9600d151af - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e9600d151af - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e9600d2fad9 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e9600aa15be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e9600aa15be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e9600d2fc92 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e9600d2fc92 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e9600d1529a - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e9600d0cb29 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e9600d160bd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e9600d4e48c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e9600d4e452 - core[8f93d80df273fe75]::panicking::panic
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e9600d4e1a9 - core[8f93d80df273fe75]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5e9600a90fc0 - <core[8f93d80df273fe75]::option::Option<&ChatLib[1a43fbafe927aed2]::libs::storage::database::storage_sqllite::SqliteStore>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5e9600a90fc0 - database[6404456b77539b5]::test_storing_retrieving_message
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:92:40
[INFO] [stdout]   23:     0x5e9600a8fb77 - database[6404456b77539b5]::test_storing_retrieving_message::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:91:37
[INFO] [stdout]   24:     0x5e9600a95826 - <database[6404456b77539b5]::test_storing_retrieving_message::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e9600a9596b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5e9600a9596b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5e9600aa21ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5e9600aa21ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5e9600aa21ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5e9600a9c694 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5e9600a9c694 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5e9600aa4cc2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5e9600aa4cc2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5e9600aa4cc2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5e9600d3763f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5e9600d3763f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73d0a04e6aa4 - <unknown>
[INFO] [stdout]   46:     0x73d0a0573a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- aaa_db_initalisation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'aaa_db_initalisation' (26) panicked at tests/common/mod.rs:18:33:
[INFO] [stdout] Failed to create test directory: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e9600d37d92 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e9600d37d92 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e9600d4dd4a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e9600d4dd4a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5e9600d3cdd6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e9600d3cdd6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e9600d151af - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e9600d151af - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e9600d2fad9 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e9600aa15be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e9600aa15be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e9600d2fc92 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e9600d2fc92 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e9600d15268 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e9600d0cb29 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e9600d160bd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e9600d4e48c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e9600d4e202 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5e9600a9294c - <core[8f93d80df273fe75]::result::Result<(), std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5e9600a8fd69 - database[6404456b77539b5]::common::aaa_init::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:18:33
[INFO] [stdout]   22:     0x5e9600a8fa5d - <std[840933623431fd06]::sync::once::Once>::call_once::<database[6404456b77539b5]::common::aaa_init::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sync/once.rs:159:41
[INFO] [stdout]   23:     0x5e9600d1a397 - <std[840933623431fd06]::sys::sync::once::futex::Once>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/sync/once/futex.rs:178:21
[INFO] [stdout]   24:     0x5e9600a8f177 - <std[840933623431fd06]::sync::once::Once>::call_once::<database[6404456b77539b5]::common::aaa_init::{closure#0}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sync/once.rs:159:20
[INFO] [stdout]   25:     0x5e9600a93609 - database[6404456b77539b5]::common::aaa_init
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:14:10
[INFO] [stdout]   26:     0x5e9600a8fff8 - database[6404456b77539b5]::aaa_db_initalisation
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:25:5
[INFO] [stdout]   27:     0x5e9600a8fb17 - database[6404456b77539b5]::aaa_db_initalisation::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:24:30
[INFO] [stdout]   28:     0x5e9600a957a6 - <database[6404456b77539b5]::aaa_db_initalisation::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x5e9600a9596b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5e9600a9596b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   31:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   32:     0x5e9600aa21ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   33:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35:     0x5e9600aa21ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   36:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   37:     0x5e9600aa21ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   38:     0x5e9600a9c694 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   39:     0x5e9600a9c694 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41:     0x5e9600aa4cc2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   42:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44:     0x5e9600aa4cc2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   45:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46:     0x5e9600aa4cc2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5e9600d3763f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   48:     0x5e9600d3763f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   49:     0x73d0a04e6aa4 - <unknown>
[INFO] [stdout]   50:     0x73d0a0573a64 - clone
[INFO] [stdout]   51:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_storing_retrieving_session stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_storing_retrieving_session' (28) panicked at tests/database.rs:42:40:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e9600d37d92 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e9600d37d92 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e9600d4dd4a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e9600d4dd4a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5e9600d3cdd6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e9600d3cdd6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e9600d151af - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e9600d151af - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e9600d2fad9 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e9600aa15be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e9600aa15be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e9600d2fc92 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e9600d2fc92 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e9600d1529a - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e9600d0cb29 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e9600d160bd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e9600d4e48c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e9600d4e452 - core[8f93d80df273fe75]::panicking::panic
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e9600d4e1a9 - core[8f93d80df273fe75]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5e9600a9197e - <core[8f93d80df273fe75]::option::Option<&ChatLib[1a43fbafe927aed2]::libs::storage::database::storage_sqllite::SqliteStore>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5e9600a9197e - database[6404456b77539b5]::test_storing_retrieving_session
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:42:40
[INFO] [stdout]   23:     0x5e9600a8fba7 - database[6404456b77539b5]::test_storing_retrieving_session::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:41:37
[INFO] [stdout]   24:     0x5e9600a95866 - <database[6404456b77539b5]::test_storing_retrieving_session::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e9600a9596b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5e9600a9596b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5e9600aa21ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5e9600aa21ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5e9600aa21ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5e9600a9c694 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5e9600a9c694 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5e9600aa4cc2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5e9600aa4cc2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5e9600aa4cc2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5e9600d3763f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5e9600d3763f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73d0a04e6aa4 - <unknown>
[INFO] [stdout]   46:     0x73d0a0573a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_symmetric_chain_storage stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_symmetric_chain_storage' (29) panicked at tests/database.rs:143:40:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e9600d37d92 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e9600d37d92 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e9600d37d92 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e9600d4dd4a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e9600d4dd4a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5e9600d3cdd6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e9600d3cdd6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e9600d151af - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e9600d151af - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e9600d2fad9 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e9600aa15be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e9600aa15be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e9600d2fc92 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e9600d2fc92 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e9600d1529a - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e9600d0cb29 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e9600d160bd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e9600d4e48c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e9600d4e452 - core[8f93d80df273fe75]::panicking::panic
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e9600d4e1a9 - core[8f93d80df273fe75]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5e9600a9008d - <core[8f93d80df273fe75]::option::Option<&ChatLib[1a43fbafe927aed2]::libs::storage::database::storage_sqllite::SqliteStore>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5e9600a9008d - database[6404456b77539b5]::test_symmetric_chain_storage
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:143:40
[INFO] [stdout]   23:     0x5e9600a8fb47 - database[6404456b77539b5]::test_symmetric_chain_storage::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/database.rs:142:34
[INFO] [stdout]   24:     0x5e9600a957e6 - <database[6404456b77539b5]::test_symmetric_chain_storage::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e9600a9596b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5e9600a9596b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5e9600aa21ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5e9600aa21ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5e9600aa21ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5e9600aa21ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5e9600aa21ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5e9600a9c694 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5e9600a9c694 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5e9600aa4cc2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5e9600aa4cc2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5e9600aa4cc2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5e9600aa4cc2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5e9600aa4cc2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5e9600d3763f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5e9600d3763f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73d0a04e6aa4 - <unknown>
[INFO] [stdout]   46:     0x73d0a0573a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     aaa_db_initalisation
[INFO] [stdout]     test_storing_retrieving_message
[INFO] [stdout]     test_storing_retrieving_session
[INFO] [stdout]     test_symmetric_chain_storage
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test database`
[INFO] running `Command { std: "docker" "inspect" "d3e7861916f30c8b1e74922b00474ca2eceb554628d27248c459693299fbfa15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3e7861916f30c8b1e74922b00474ca2eceb554628d27248c459693299fbfa15", kill_on_drop: false }`
[INFO] [stdout] d3e7861916f30c8b1e74922b00474ca2eceb554628d27248c459693299fbfa15
