[INFO] cloning repository https://github.com/dotancohen/voicecore [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dotancohen/voicecore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdotancohen%2Fvoicecore", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdotancohen%2Fvoicecore'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 52d6a91872003f90bbe6d08f07a7128a27285690 [INFO] testing dotancohen/voicecore against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdotancohen%2Fvoicecore" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dotancohen/voicecore [INFO] finished tweaking git repo https://github.com/dotancohen/voicecore [INFO] tweaked toml for git repo https://github.com/dotancohen/voicecore written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dotancohen/voicecore on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 345 packages to latest compatible versions [INFO] [stderr] Adding axum v0.7.9 (available: v0.8.9) [INFO] [stderr] Adding diffy v0.4.2 (available: v0.5.0) [INFO] [stderr] Adding dirs v5.0.1 (available: v6.0.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v0.14.9) [INFO] [stderr] Adding rcgen v0.13.2 (available: v0.14.7) [INFO] [stderr] Adding reqwest v0.12.28 (available: v0.13.3) [INFO] [stderr] Adding rusqlite v0.32.1 (available: v0.39.0) [INFO] [stderr] Adding sha2 v0.10.9 (available: v0.11.0) [INFO] [stderr] Adding similar v2.7.0 (available: v3.1.0) [INFO] [stderr] Adding uniffi v0.28.3 (available: v0.31.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uniffi_meta v0.28.3 [INFO] [stderr] Downloaded camino v1.2.2 [INFO] [stderr] Downloaded uniffi_macros v0.28.3 [INFO] [stderr] Downloaded uniffi v0.28.3 [INFO] [stderr] Downloaded uniffi_checksum_derive v0.28.3 [INFO] [stderr] Downloaded uniffi_udl v0.28.3 [INFO] [stderr] Downloaded weedle2 v5.0.0 [INFO] [stderr] Downloaded uniffi_testing v0.28.3 [INFO] [stderr] Downloaded uniffi_build v0.28.3 [INFO] [stderr] Downloaded scroll_derive v0.12.1 [INFO] [stderr] Downloaded scroll v0.12.0 [INFO] [stderr] Downloaded cargo_metadata v0.15.4 [INFO] [stderr] Downloaded uniffi_core v0.28.3 [INFO] [stderr] Downloaded uniffi_bindgen v0.28.3 [INFO] [stderr] Downloaded goblin v0.8.2 [INFO] [stderr] Downloaded aws-lc-rs v1.16.3 [INFO] [stderr] Downloaded rust-s3 v0.37.2 [INFO] [stderr] Downloaded ntapi v0.4.3 [INFO] [stderr] Downloaded objc2-io-kit v0.3.2 [INFO] [stderr] Downloaded rand v0.9.4 [INFO] [stderr] Downloaded md5 v0.8.0 [INFO] [stderr] Downloaded aws-region v0.28.1 [INFO] [stderr] Downloaded aws-creds v0.39.1 [INFO] [stderr] Downloaded attohttpc v0.30.1 [INFO] [stderr] Downloaded quick-xml v0.38.4 [INFO] [stderr] Downloaded yasna v0.5.2 [INFO] [stderr] Downloaded rcgen v0.13.2 [INFO] [stderr] Downloaded diffy v0.4.2 [INFO] [stderr] Downloaded aws-lc-sys v0.40.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c5bddd0b6e7c1ed3c4d72b71a1cb9c7c52a9754ba3d333ea1f943fb07674388b [INFO] running `Command { std: "docker" "start" "-a" "c5bddd0b6e7c1ed3c4d72b71a1cb9c7c52a9754ba3d333ea1f943fb07674388b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5bddd0b6e7c1ed3c4d72b71a1cb9c7c52a9754ba3d333ea1f943fb07674388b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5bddd0b6e7c1ed3c4d72b71a1cb9c7c52a9754ba3d333ea1f943fb07674388b", kill_on_drop: false }` [INFO] [stdout] c5bddd0b6e7c1ed3c4d72b71a1cb9c7c52a9754ba3d333ea1f943fb07674388b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e57b975fd53e4641f591ed04d1e3a5ec19824e5b2c81d930f799148c47d972b8 [INFO] running `Command { std: "docker" "start" "-a" "e57b975fd53e4641f591ed04d1e3a5ec19824e5b2c81d930f799148c47d972b8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling aws-lc-rs v1.16.3 [INFO] [stderr] Compiling fs-err v2.11.0 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling uniffi_checksum_derive v0.28.3 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling scroll_derive v0.12.1 [INFO] [stderr] Compiling typenum v1.20.0 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling uniffi_meta v0.28.3 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling plain v0.2.3 [INFO] [stderr] Compiling askama_escape v0.10.3 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling webpki-roots v1.0.7 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling scroll v0.12.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling goblin v0.8.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling uniffi_core v0.28.3 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Compiling dlv-list v0.5.2 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling askama_parser v0.2.1 [INFO] [stderr] Compiling weedle2 v5.0.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling ordered-multimap v0.7.3 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sysinfo v0.37.2 [INFO] [stderr] Compiling aws-region v0.28.1 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling rust-ini v0.21.3 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling maybe-async v0.2.10 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling aws-lc-sys v0.40.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling cargo_metadata v0.15.4 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling yasna v0.5.2 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling askama_derive v0.12.5 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling uuid v1.23.1 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling diffy v0.4.2 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling uniffi_macros v0.28.3 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling uniffi_testing v0.28.3 [INFO] [stderr] Compiling uniffi_udl v0.28.3 [INFO] [stderr] Compiling askama v0.12.1 [INFO] [stderr] Compiling uniffi_bindgen v0.28.3 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling rcgen v0.13.2 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling uniffi_build v0.28.3 [INFO] [stderr] Compiling uniffi v0.28.3 [INFO] [stderr] Compiling voicecore v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling attohttpc v0.30.1 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling aws-creds v0.39.1 [INFO] [stderr] Compiling rust-s3 v0.37.2 [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/conflicts.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex}; [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 imports: `Arc` and `Mutex` [INFO] [stdout] --> src/database.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, Mutex, OnceLock}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `NaiveDateTime` [INFO] [stdout] --> src/database.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | use chrono::{DateTime, NaiveDateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/sync_client.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | use chrono::{DateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FileStorageError` [INFO] [stdout] --> src/sync_client.rs:2014:64 [INFO] [stdout] | [INFO] [stdout] 2014 | use crate::cloud_storage::{upload_pending_audio_files, FileStorageError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicConstraints` [INFO] [stdout] --> src/tls.rs:136:87 [INFO] [stdout] | [INFO] [stdout] 136 | use rcgen::{CertificateParams, DistinguishedName, DnType, KeyPair, SanType, IsCa, BasicConstraints}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:335:13 [INFO] [stdout] | [INFO] [stdout] 335 | let mut config = Self { [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: `tag_id` [INFO] [stdout] --> src/database.rs:6110:36 [INFO] [stdout] | [INFO] [stdout] 6110 | fn get_tag_display_name(&self, tag_id: &str, tag_name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pulled_changes` [INFO] [stdout] --> src/sync_client.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | let pulled_changes = match self.pull_changes(peer_url, adjusted_since).await { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulled_changes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pattern` [INFO] [stdout] --> src/sync_server.rs:357:9 [INFO] [stdout] | [INFO] [stdout] 357 | let pattern = format!("{}.*", audio_id); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_sqlite_datetime` is never used [INFO] [stdout] --> src/database.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn parse_sqlite_datetime(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_nonsynced_tag_id` and `build_tag_path` are never used [INFO] [stdout] --> src/database.rs:2470:8 [INFO] [stdout] | [INFO] [stdout] 212 | impl Database { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2470 | fn get_nonsynced_tag_id(&self) -> VoiceResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6082 | fn build_tag_path(&self, _id_bytes: &[u8], name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device_id`, `device_name`, `protocol_version`, and `supports_audiofiles` are never read [INFO] [stdout] --> src/sync_client.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | struct HandshakeResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 73 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 74 | device_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 75 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | supports_audiofiles: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from_timestamp`, `to_timestamp`, `device_id`, `device_name`, and `is_complete` are never read [INFO] [stdout] --> src/sync_client.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 84 | struct SyncBatchResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 85 | changes: Vec, [INFO] [stdout] 86 | from_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 87 | to_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 88 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 89 | device_name: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 90 | is_complete: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncBatchResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `errors` is never read [INFO] [stdout] --> src/sync_client.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 103 | struct ApplyResponse { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 106 | errors: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/sync_client.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 111 | struct FullSyncResponse { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 121 | timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FullSyncResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `protocol_version` is never read [INFO] [stdout] --> src/sync_server.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 48 | struct HandshakeRequest { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s [INFO] running `Command { std: "docker" "inspect" "e57b975fd53e4641f591ed04d1e3a5ec19824e5b2c81d930f799148c47d972b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e57b975fd53e4641f591ed04d1e3a5ec19824e5b2c81d930f799148c47d972b8", kill_on_drop: false }` [INFO] [stdout] e57b975fd53e4641f591ed04d1e3a5ec19824e5b2c81d930f799148c47d972b8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31efbf599cb8d34fe47139018f7a23eb4c61eeec4c8316ba5b9dd52e25e1ebad [INFO] running `Command { std: "docker" "start" "-a" "31efbf599cb8d34fe47139018f7a23eb4c61eeec4c8316ba5b9dd52e25e1ebad", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling rust-s3 v0.37.2 [INFO] [stderr] Compiling voicecore v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/conflicts.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex}; [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 imports: `Arc` and `Mutex` [INFO] [stdout] --> src/database.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, Mutex, OnceLock}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `NaiveDateTime` [INFO] [stdout] --> src/database.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | use chrono::{DateTime, NaiveDateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/sync_client.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | use chrono::{DateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FileStorageError` [INFO] [stdout] --> src/sync_client.rs:2014:64 [INFO] [stdout] | [INFO] [stdout] 2014 | use crate::cloud_storage::{upload_pending_audio_files, FileStorageError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicConstraints` [INFO] [stdout] --> src/tls.rs:136:87 [INFO] [stdout] | [INFO] [stdout] 136 | use rcgen::{CertificateParams, DistinguishedName, DnType, KeyPair, SanType, IsCa, BasicConstraints}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/conflicts.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex}; [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 imports: `Arc` and `Mutex` [INFO] [stdout] --> src/database.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, Mutex, OnceLock}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime` and `NaiveDateTime` [INFO] [stdout] --> src/database.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | use chrono::{DateTime, NaiveDateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/sync_client.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | use chrono::{DateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FileStorageError` [INFO] [stdout] --> src/sync_client.rs:2014:64 [INFO] [stdout] | [INFO] [stdout] 2014 | use crate::cloud_storage::{upload_pending_audio_files, FileStorageError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> src/sync_server.rs:1946:9 [INFO] [stdout] | [INFO] [stdout] 1946 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicConstraints` [INFO] [stdout] --> src/tls.rs:136:87 [INFO] [stdout] | [INFO] [stdout] 136 | use rcgen::{CertificateParams, DistinguishedName, DnType, KeyPair, SanType, IsCa, BasicConstraints}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:335:13 [INFO] [stdout] | [INFO] [stdout] 335 | let mut config = Self { [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/config.rs:335:13 [INFO] [stdout] | [INFO] [stdout] 335 | let mut config = Self { [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: `tag_id` [INFO] [stdout] --> src/database.rs:6110:36 [INFO] [stdout] | [INFO] [stdout] 6110 | fn get_tag_display_name(&self, tag_id: &str, tag_name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_id` [INFO] [stdout] --> src/database.rs:6110:36 [INFO] [stdout] | [INFO] [stdout] 6110 | fn get_tag_display_name(&self, tag_id: &str, tag_name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pulled_changes` [INFO] [stdout] --> src/sync_client.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | let pulled_changes = match self.pull_changes(peer_url, adjusted_since).await { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulled_changes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `note2_id` [INFO] [stdout] --> src/database.rs:6517:13 [INFO] [stdout] | [INFO] [stdout] 6517 | let note2_id = db.create_note("Goodbye world").unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note2_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pattern` [INFO] [stdout] --> src/sync_server.rs:357:9 [INFO] [stdout] | [INFO] [stdout] 357 | let pattern = format!("{}.*", audio_id); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_sqlite_datetime` is never used [INFO] [stdout] --> src/database.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn parse_sqlite_datetime(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_nonsynced_tag_id` and `build_tag_path` are never used [INFO] [stdout] --> src/database.rs:2470:8 [INFO] [stdout] | [INFO] [stdout] 212 | impl Database { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2470 | fn get_nonsynced_tag_id(&self) -> VoiceResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6082 | fn build_tag_path(&self, _id_bytes: &[u8], name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device_id`, `device_name`, `protocol_version`, and `supports_audiofiles` are never read [INFO] [stdout] --> src/sync_client.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | struct HandshakeResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 73 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 74 | device_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 75 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | supports_audiofiles: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from_timestamp`, `to_timestamp`, `device_id`, `device_name`, and `is_complete` are never read [INFO] [stdout] --> src/sync_client.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 84 | struct SyncBatchResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 85 | changes: Vec, [INFO] [stdout] 86 | from_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 87 | to_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 88 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 89 | device_name: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 90 | is_complete: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncBatchResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `errors` is never read [INFO] [stdout] --> src/sync_client.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 103 | struct ApplyResponse { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 106 | errors: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/sync_client.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 111 | struct FullSyncResponse { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 121 | timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FullSyncResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `protocol_version` is never read [INFO] [stdout] --> src/sync_server.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 48 | struct HandshakeRequest { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pulled_changes` [INFO] [stdout] --> src/sync_client.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | let pulled_changes = match self.pull_changes(peer_url, adjusted_since).await { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulled_changes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pattern` [INFO] [stdout] --> src/sync_server.rs:357:9 [INFO] [stdout] | [INFO] [stdout] 357 | let pattern = format!("{}.*", audio_id); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conflicts` [INFO] [stdout] --> src/sync_server.rs:2813:23 [INFO] [stdout] | [INFO] [stdout] 2813 | let (applied, conflicts, errors) = apply_sync_changes( [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conflicts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_sqlite_datetime` is never used [INFO] [stdout] --> src/database.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn parse_sqlite_datetime(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_nonsynced_tag_id` and `build_tag_path` are never used [INFO] [stdout] --> src/database.rs:2470:8 [INFO] [stdout] | [INFO] [stdout] 212 | impl Database { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2470 | fn get_nonsynced_tag_id(&self) -> VoiceResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6082 | fn build_tag_path(&self, _id_bytes: &[u8], name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device_id`, `device_name`, `protocol_version`, and `supports_audiofiles` are never read [INFO] [stdout] --> src/sync_client.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | struct HandshakeResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 73 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 74 | device_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 75 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | supports_audiofiles: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from_timestamp`, `to_timestamp`, `device_id`, `device_name`, and `is_complete` are never read [INFO] [stdout] --> src/sync_client.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 84 | struct SyncBatchResponse { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 85 | changes: Vec, [INFO] [stdout] 86 | from_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 87 | to_timestamp: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 88 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 89 | device_name: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 90 | is_complete: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncBatchResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `errors` is never read [INFO] [stdout] --> src/sync_client.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 103 | struct ApplyResponse { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 106 | errors: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/sync_client.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 111 | struct FullSyncResponse { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 121 | timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FullSyncResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `protocol_version` is never read [INFO] [stdout] --> src/sync_server.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 48 | struct HandshakeRequest { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 20.86s [INFO] running `Command { std: "docker" "inspect" "31efbf599cb8d34fe47139018f7a23eb4c61eeec4c8316ba5b9dd52e25e1ebad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31efbf599cb8d34fe47139018f7a23eb4c61eeec4c8316ba5b9dd52e25e1ebad", kill_on_drop: false }` [INFO] [stdout] 31efbf599cb8d34fe47139018f7a23eb4c61eeec4c8316ba5b9dd52e25e1ebad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f6df9f10c2d33572316b558dea82460238b2328bc03751b7340d093cfcf0b412 [INFO] running `Command { std: "docker" "start" "-a" "f6df9f10c2d33572316b558dea82460238b2328bc03751b7340d093cfcf0b412", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Arc` and `Mutex` [INFO] [stderr] --> src/conflicts.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc` and `Mutex` [INFO] [stderr] --> src/database.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::{Arc, Mutex, OnceLock}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DateTime` and `NaiveDateTime` [INFO] [stderr] --> src/database.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use chrono::{DateTime, NaiveDateTime, Utc}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DateTime` [INFO] [stderr] --> src/sync_client.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | use chrono::{DateTime, Utc}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FileStorageError` [INFO] [stderr] --> src/sync_client.rs:2014:64 [INFO] [stderr] | [INFO] [stderr] 2014 | use crate::cloud_storage::{upload_pending_audio_files, FileStorageError}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BasicConstraints` [INFO] [stderr] --> src/tls.rs:136:87 [INFO] [stderr] | [INFO] [stderr] 136 | use rcgen::{CertificateParams, DistinguishedName, DnType, KeyPair, SanType, IsCa, BasicConstraints}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:335:13 [INFO] [stderr] | [INFO] [stderr] 335 | let mut config = Self { [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: `tag_id` [INFO] [stderr] --> src/database.rs:6110:36 [INFO] [stderr] | [INFO] [stderr] 6110 | fn get_tag_display_name(&self, tag_id: &str, tag_name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pulled_changes` [INFO] [stderr] --> src/sync_client.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let pulled_changes = match self.pull_changes(peer_url, adjusted_since).await { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulled_changes` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pattern` [INFO] [stderr] --> src/sync_server.rs:357:9 [INFO] [stderr] | [INFO] [stderr] 357 | let pattern = format!("{}.*", audio_id); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern` [INFO] [stderr] [INFO] [stderr] warning: function `parse_sqlite_datetime` is never used [INFO] [stderr] --> src/database.rs:202:4 [INFO] [stderr] | [INFO] [stderr] 202 | fn parse_sqlite_datetime(s: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `get_nonsynced_tag_id` and `build_tag_path` are never used [INFO] [stderr] --> src/database.rs:2470:8 [INFO] [stderr] | [INFO] [stderr] 212 | impl Database { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 2470 | fn get_nonsynced_tag_id(&self) -> VoiceResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 6082 | fn build_tag_path(&self, _id_bytes: &[u8], name: &str, parent_id: Option<&[u8]>) -> VoiceResult { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `device_id`, `device_name`, `protocol_version`, and `supports_audiofiles` are never read [INFO] [stderr] --> src/sync_client.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 72 | struct HandshakeResponse { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] 73 | device_id: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 74 | device_name: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 75 | protocol_version: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | supports_audiofiles: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HandshakeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `from_timestamp`, `to_timestamp`, `device_id`, `device_name`, and `is_complete` are never read [INFO] [stderr] --> src/sync_client.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 84 | struct SyncBatchResponse { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] 85 | changes: Vec, [INFO] [stderr] 86 | from_timestamp: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 87 | to_timestamp: Option, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 88 | device_id: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 89 | device_name: Option, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 90 | is_complete: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SyncBatchResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `errors` is never read [INFO] [stderr] --> src/sync_client.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 103 | struct ApplyResponse { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 106 | errors: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ApplyResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `timestamp` is never read [INFO] [stderr] --> src/sync_client.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 111 | struct FullSyncResponse { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 121 | timestamp: i64, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FullSyncResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `protocol_version` is never read [INFO] [stderr] --> src/sync_server.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 48 | struct HandshakeRequest { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 51 | protocol_version: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HandshakeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `voicecore` (lib) generated 17 warnings (run `cargo fix --lib -p voicecore` to apply 10 suggestions) [INFO] [stderr] warning: unused import: `uuid::Uuid` [INFO] [stderr] --> src/sync_server.rs:1946:9 [INFO] [stderr] | [INFO] [stderr] 1946 | use uuid::Uuid; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `note2_id` [INFO] [stderr] --> src/database.rs:6517:13 [INFO] [stderr] | [INFO] [stderr] 6517 | let note2_id = db.create_note("Goodbye world").unwrap(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note2_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conflicts` [INFO] [stderr] --> src/sync_server.rs:2813:23 [INFO] [stderr] | [INFO] [stderr] 2813 | let (applied, conflicts, errors) = apply_sync_changes( [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conflicts` [INFO] [stderr] [INFO] [stderr] warning: `voicecore` (lib test) generated 20 warnings (17 duplicates) (run `cargo fix --lib -p voicecore --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/voicecore-d2e2dd39d6bc371d) [INFO] [stdout] [INFO] [stdout] running 177 tests [INFO] [stdout] test cloud_storage::tests::test_file_storage_error_display ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_empty_prefix ... ok [INFO] [stdout] test cloud_storage::tests::test_download_url_serialization ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_no_extension ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_multiple_dots ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_with_prefix ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_no_prefix ... ok [INFO] [stdout] test cloud_storage::tests::test_generate_storage_key_with_trailing_slash ... ok [INFO] [stdout] test cloud_storage::tests::test_upload_result_serialization ... ok [INFO] [stdout] test cloud_storage_s3::tests::test_full_key_with_prefix ... ok [INFO] [stdout] test cloud_storage_s3::tests::test_s3_config_with_endpoint ... ok [INFO] [stdout] test cloud_storage_s3::tests::test_full_key_generation ... ok [INFO] [stdout] test config::tests::test_audiofile_directory_default_none ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_audiofile_directory_persistence ... ok [INFO] [stdout] test config::tests::test_add_peer ... ok [INFO] [stdout] test config::tests::test_audiofile_directory_via_get_set ... ok [INFO] [stdout] test config::tests::test_set_audiofile_directory ... ok [INFO] [stdout] test config::tests::test_transcription_config_defaults ... ok [INFO] [stdout] test config::tests::test_clear_audiofile_directory ... ok [INFO] [stdout] test config::tests::test_invalid_peer_id ... ok [INFO] [stdout] test config::tests::test_file_storage_config_default ... ok [INFO] [stdout] test config::tests::test_config_persistence ... ok [INFO] [stdout] test config::tests::test_file_storage_config_s3 ... ok [INFO] [stdout] test config::tests::test_file_storage_config_persistence ... ok [INFO] [stdout] test config::tests::test_remove_peer ... ok [INFO] [stdout] test config::tests::test_set_transcription_json ... ok [INFO] [stdout] test config::tests::test_transcription_config_persistence ... ok [INFO] [stdout] test database::tests::test_audio_file_storage_columns_default_null ... ok [INFO] [stdout] test database::tests::test_clear_audio_file_storage ... ok [INFO] [stdout] test database::tests::test_create_and_get_note ... ok [INFO] [stdout] test database::tests::test_create_note_with_timestamp ... ok [INFO] [stdout] test database::tests::test_audio_file_storage_syncs_correctly ... ok [INFO] [stdout] test database::tests::test_create_and_get_tag ... ok [INFO] [stdout] test database::tests::test_create_database ... ok [INFO] [stdout] test error::tests::test_validation_error_display ... ok [INFO] [stdout] test error::tests::test_voice_error_validation ... ok [INFO] [stdout] test merge::tests::test_auto_merge_identical ... ok [INFO] [stdout] test database::tests::test_file_storage_config_set_and_get ... ok [INFO] [stdout] test merge::tests::test_auto_merge_with_conflicts ... ok [INFO] [stdout] test merge::tests::test_diff3_local_unchanged ... ok [INFO] [stdout] test database::tests::test_file_storage_config_disable ... ok [INFO] [stdout] test merge::tests::test_diff3_no_base ... ok [INFO] [stdout] test merge::tests::test_diff3_same_changes ... ok [INFO] [stdout] test merge::tests::test_diff3_remote_unchanged ... ok [INFO] [stdout] test database::tests::test_file_storage_config_get_none ... ok [INFO] [stdout] test merge::tests::test_get_diff_preview ... ok [INFO] [stdout] test merge::tests::test_different_content ... ok [INFO] [stdout] test merge::tests::test_identical_content ... ok [INFO] [stdout] test merge::tests::test_multiline_merge ... ok [INFO] [stdout] test database::tests::test_file_storage_config_struct ... ok [INFO] [stdout] test models::tests::test_attachment_type_conversion ... ok [INFO] [stdout] test models::tests::test_audio_file_creation ... ok [INFO] [stdout] test models::tests::test_audio_file_extension ... ok [INFO] [stdout] test models::tests::test_audio_file_formats_constant ... ok [INFO] [stdout] test models::tests::test_audio_file_stored_filename ... ok [INFO] [stdout] test models::tests::test_id_hex_format ... ok [INFO] [stdout] test models::tests::test_note_attachment_creation ... ok [INFO] [stdout] test models::tests::test_note_creation ... ok [INFO] [stdout] test models::tests::test_note_tag_creation ... ok [INFO] [stdout] test models::tests::test_tag_creation ... ok [INFO] [stdout] test database::tests::test_add_tag_to_note ... ok [INFO] [stdout] test models::tests::test_tag_with_parent ... ok [INFO] [stdout] test models::tests::test_transcription_creation ... ok [INFO] [stdout] test models::tests::test_transcription_creation_full ... ok [INFO] [stdout] test models::tests::test_transcription_id_hex ... ok [INFO] [stdout] test database::tests::test_delete_note ... ok [INFO] [stdout] test search::tests::test_parse_case_insensitive ... ok [INFO] [stdout] test search::tests::test_parse_empty ... ok [INFO] [stdout] test search::tests::test_parse_free_text_only ... ok [INFO] [stdout] test search::tests::test_parse_is_marked ... ok [INFO] [stdout] test search::tests::test_parse_is_marked_with_tags ... ok [INFO] [stdout] test search::tests::test_parse_is_marked_with_text ... ok [INFO] [stdout] test search::tests::test_parse_is_marked_case_insensitive ... ok [INFO] [stdout] test search::tests::test_parse_tag_only ... ok [INFO] [stdout] test search::tests::test_parse_tag_path ... ok [INFO] [stdout] test search::tests::test_parse_whitespace ... ok [INFO] [stdout] test database::tests::test_get_changes_since_includes_storage_fields ... ok [INFO] [stdout] test search::tests::test_parse_mixed ... ok [INFO] [stdout] test database::tests::test_file_storage_config_update ... ok [INFO] [stdout] test database::tests::test_get_audio_files_pending_upload ... ok [INFO] [stdout] test database::tests::test_import_audio_file_without_metadata ... ok [INFO] [stdout] test database::tests::test_update_audio_file_storage ... ok [INFO] [stdout] test database::tests::test_update_note ... ok [INFO] [stdout] test database::tests::test_import_audio_file ... ok [INFO] [stdout] test sync_client::tests::sync_result_tests::test_sync_result_failure ... ok [INFO] [stdout] test sync_client::tests::sync_result_tests::test_sync_result_success_default ... ok [INFO] [stdout] test sync_client::tests::sync_result_tests::test_sync_result_with_counts ... ok [INFO] [stdout] test sync_client::tests::sync_result_tests::test_sync_result_with_multiple_errors ... ok [INFO] [stdout] test database::tests::test_tag_hierarchy ... ok [INFO] [stdout] test database::tests::test_search_notes ... ok [INFO] [stdout] test sync_client::tests::clock_skew_tests::test_calculate_clock_skew_no_timestamp ... ok [INFO] [stdout] test sync_client::tests::clock_skew_tests::test_adjust_timestamp_for_skew_none ... ok [INFO] [stdout] test sync_client::tests::clock_skew_tests::test_calculate_clock_skew_with_timestamp ... ok [INFO] [stdout] test sync_client::tests::clock_skew_tests::test_adjust_timestamp_for_skew_large_skew ... ok [INFO] [stdout] test sync_client::tests::get_changes_since_tests::test_get_changes_since_empty_db ... ok [INFO] [stdout] test sync_client::tests::clock_skew_tests::test_adjust_timestamp_for_skew_small_skew ... ok [INFO] [stdout] test sync_client::tests::convert_full_sync_tests::test_convert_full_sync_with_audio_files ... ok [INFO] [stdout] test sync_client::tests::convert_full_sync_tests::test_convert_full_sync_with_notes ... ok [INFO] [stdout] test sync_client::tests::get_changes_since_tests::test_get_changes_since_with_future_timestamp ... ok [INFO] [stdout] test sync_client::tests::convert_full_sync_tests::test_convert_full_sync_empty ... ok [INFO] [stdout] test sync_client::tests::sync_client_init_tests::test_client_creation ... ok [INFO] [stdout] test sync_client::tests::sync_all_peers_tests::test_sync_all_peers_empty ... ok [INFO] [stdout] test sync_client::tests::sync_with_unknown_peer_tests::test_check_peer_status_unknown_peer ... ok [INFO] [stdout] test sync_client::tests::sync_client_init_tests::test_client_has_device_info ... ok [INFO] [stdout] test sync_client::tests::sync_with_unknown_peer_tests::test_initial_sync_unknown_peer ... ok [INFO] [stdout] test sync_client::tests::sync_with_unknown_peer_tests::test_pull_from_unknown_peer ... ok [INFO] [stdout] test sync_client::tests::sync_with_unknown_peer_tests::test_sync_with_unknown_peer ... ok [INFO] [stdout] test sync_server::tests::test_batch_with_all_failures_reports_all_errors ... ok [INFO] [stdout] test sync_client::tests::sync_with_unknown_peer_tests::test_push_to_unknown_peer ... ok [INFO] [stdout] test sync_server::tests::test_both_delete_same_note_no_conflict ... ok [INFO] [stdout] test sync_server::tests::test_both_devices_rename_tag_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_both_edit_to_same_content_no_conflict ... ok [INFO] [stdout] test sync_server::tests::test_both_move_tag_to_same_parent_no_conflict ... ok [INFO] [stdout] test sync_server::tests::test_both_devices_edit_same_note_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_both_devices_move_tag_to_different_parents_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_get_changes_since_includes_deleted_tags ... ok [INFO] [stdout] test sync_server::tests::test_get_changes_since_includes_deleted_notes ... ok [INFO] [stdout] test sync_server::tests::test_both_rename_tag_same_name_no_conflict ... ok [INFO] [stdout] test sync_server::tests::test_full_dataset_includes_deleted_tags ... ok [INFO] [stdout] test sync_server::tests::test_apply_sync_changes_counts_conflicts_correctly ... ok [INFO] [stdout] test sync_server::tests::test_conflict_records_are_queryable ... ok [INFO] [stdout] test sync_server::tests::test_different_content_still_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_integer_timestamp_works ... ok [INFO] [stdout] test sync_server::tests::test_local_delete_remote_edit_creates_conflict ... ok [INFO] [stdout] test tls::tests::test_compute_fingerprint_from_pem ... ok [INFO] [stdout] test tls::tests::test_fingerprint_format ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_already_correct ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_invalid ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_iso8601_with_t ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_optional ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_with_microseconds ... ok [INFO] [stdout] test validation::tests::test_normalize_datetime_with_timezone ... ok [INFO] [stdout] test validation::tests::test_validate_attachment_id_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_attachment_id_valid ... ok [INFO] [stdout] test validation::tests::test_validate_audio_extension_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_audio_extension_no_extension ... ok [INFO] [stdout] test validation::tests::test_validate_audio_extension_valid ... ok [INFO] [stdout] test validation::tests::test_validate_audio_file_id_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_audio_file_id_valid ... ok [INFO] [stdout] test validation::tests::test_validate_datetime_invalid_ranges ... ok [INFO] [stdout] test validation::tests::test_validate_datetime_non_zero_padded ... ok [INFO] [stdout] test validation::tests::test_validate_datetime_optional ... ok [INFO] [stdout] test validation::tests::test_validate_datetime_valid ... ok [INFO] [stdout] test validation::tests::test_validate_datetime_wrong_format ... ok [INFO] [stdout] test validation::tests::test_validate_note_content_empty ... ok [INFO] [stdout] test validation::tests::test_validate_note_content_too_long ... ok [INFO] [stdout] test validation::tests::test_validate_note_content_valid ... ok [INFO] [stdout] test validation::tests::test_validate_parent_tag_id_none ... ok [INFO] [stdout] test validation::tests::test_validate_parent_tag_id_self_reference ... ok [INFO] [stdout] test validation::tests::test_validate_search_query_none ... ok [INFO] [stdout] test validation::tests::test_validate_search_query_too_long ... ok [INFO] [stdout] test validation::tests::test_validate_search_query_valid ... ok [INFO] [stdout] test validation::tests::test_validate_tag_name_empty ... ok [INFO] [stdout] test validation::tests::test_validate_tag_name_too_long ... ok [INFO] [stdout] test validation::tests::test_validate_tag_name_valid ... ok [INFO] [stdout] test validation::tests::test_validate_tag_name_with_slash ... ok [INFO] [stdout] test validation::tests::test_validate_tag_path_empty ... ok [INFO] [stdout] test validation::tests::test_validate_tag_path_valid ... ok [INFO] [stdout] test validation::tests::test_validate_uuid_hex_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_uuid_hex_valid ... ok [INFO] [stdout] test validation::tests::test_validate_uuid_hex_with_hyphens ... ok [INFO] [stdout] test sync_server::tests::test_local_edit_remote_delete_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_get_changes_since_returns_all_entity_types ... ok [INFO] [stdout] test sync_server::tests::test_old_remote_changes_are_skipped ... ok [INFO] [stdout] test sync_server::tests::test_local_renames_tag_remote_deletes_creates_conflict ... ok [INFO] [stdout] test sync_server::tests::test_no_silent_overwrites_ever ... ok [INFO] [stdout] test sync_server::tests::test_remote_edit_after_sync_applies_cleanly ... ok [INFO] [stdout] test sync_server::tests::test_tag_delete_applies_when_no_local_changes ... ok [INFO] [stdout] test sync_server::tests::test_note_tag_reactivation_applies ... ok [INFO] [stdout] test sync_server::tests::test_partial_batch_failure_continues_processing ... ok [INFO] [stdout] test sync_server::tests::test_get_changes_since_returns_modified_transcription ... ok [INFO] [stdout] test sync_server::tests::test_two_instances_sync_deleted_tag ... ok [INFO] [stdout] test sync_server::tests::test_two_instances_sync_deleted_note ... ok [INFO] [stdout] test sync_server::tests::test_two_instances_sync_note_with_audio_attachment ... ok [INFO] [stdout] test sync_server::tests::test_two_instances_sync_detached_attachment ... ok [INFO] [stdout] test sync_server::tests::test_two_instances_sync_transcription ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 177 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s [INFO] [stdout] [INFO] [stderr] Doc-tests voicecore [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/cloud_storage.rs - cloud_storage::FileStorageService (line 84) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f6df9f10c2d33572316b558dea82460238b2328bc03751b7340d093cfcf0b412", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6df9f10c2d33572316b558dea82460238b2328bc03751b7340d093cfcf0b412", kill_on_drop: false }` [INFO] [stdout] f6df9f10c2d33572316b558dea82460238b2328bc03751b7340d093cfcf0b412