[INFO] cloning repository https://github.com/stephane-segning/no-drive
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stephane-segning/no-drive" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephane-segning%2Fno-drive", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephane-segning%2Fno-drive'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5e34cf26d5f15bd7b839f7da5b54692863c6c2af
[INFO] checking stephane-segning/no-drive against try#3fada14ee01d755dc8076e611f11bf65b28ffd21 for pr-154971-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstephane-segning%2Fno-drive" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/stephane-segning/no-drive
[INFO] finished tweaking git repo https://github.com/stephane-segning/no-drive
[INFO] tweaked toml for git repo https://github.com/stephane-segning/no-drive written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stephane-segning/no-drive on toolchain 3fada14ee01d755dc8076e611f11bf65b28ffd21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stephane-segning/no-drive 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" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 24fa7d47681c73283b379edf2e6ad67ba3cf58384ac270f181c4489343be7e98
[INFO] running `Command { std: "docker" "start" "-a" "24fa7d47681c73283b379edf2e6ad67ba3cf58384ac270f181c4489343be7e98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "24fa7d47681c73283b379edf2e6ad67ba3cf58384ac270f181c4489343be7e98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24fa7d47681c73283b379edf2e6ad67ba3cf58384ac270f181c4489343be7e98", kill_on_drop: false }`
[INFO] [stdout] 24fa7d47681c73283b379edf2e6ad67ba3cf58384ac270f181c4489343be7e98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ebac36a333fd478c52b545bdd60f9d00a85922709b6baea2f18fde988de7ce0
[INFO] running `Command { std: "docker" "start" "-a" "7ebac36a333fd478c52b545bdd60f9d00a85922709b6baea2f18fde988de7ce0", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling zstd-safe v7.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking miniz_oxide v0.7.3
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling regex-lite v0.1.5
[INFO] [stderr]     Checking time-core v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]     Checking num-conv v0.1.0
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]    Compiling pq-sys v0.6.0
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rustls-pki-types v1.7.0
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking mutually_exclusive_features v0.0.3
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking blake2b_simd v1.0.2
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]    Compiling parse-size v1.0.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking rustls-native-certs v0.7.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling zstd-sys v2.0.10+zstd.1.5.6
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking rust-argon2 v2.1.0
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling shaku_derive v0.6.1
[INFO] [stderr]    Compiling darling_core v0.20.9
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]     Checking shaku v0.6.1
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]    Compiling darling_macro v0.20.9
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling darling v0.20.9
[INFO] [stderr]    Compiling dsl_auto_type v0.1.0
[INFO] [stderr]    Compiling actix-multipart-derive v0.6.1
[INFO] [stderr]     Checking rustls-webpki v0.102.4
[INFO] [stderr]    Compiling diesel_derives v2.2.0
[INFO] [stderr]     Checking zstd v0.13.1
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking actix-rt v2.9.0
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking actix-server v2.3.0
[INFO] [stderr]     Checking rumqttc v0.24.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking actix-router v0.5.3
[INFO] [stderr]     Checking no-drive-model v0.1.0 (/opt/rustwide/workdir/no-drive-model)
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> no-drive-model/src/common/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log;
[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: `log`
[INFO] [stdout]  --> no-drive-model/src/common/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log;
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling actix-web-codegen v4.2.2
[INFO] [stderr]     Checking oxide-auth v0.6.1
[INFO] [stderr]     Checking diesel v2.2.0
[INFO] [stderr]     Checking actix-http v3.7.0
[INFO] [stderr]     Checking actix-web v4.6.0
[INFO] [stderr]     Checking tracing-actix-web v0.7.11
[INFO] [stderr]     Checking actix-multipart v0.6.1
[INFO] [stderr]     Checking no-drive-file-service v0.1.0 (/opt/rustwide/workdir/no-drive-file-service)
[INFO] [stderr]     Checking no-drive-account-service v0.1.0 (/opt/rustwide/workdir/no-drive-account-service)
[INFO] [stderr]     Checking no-drive-notification-server v0.1.0 (/opt/rustwide/workdir/no-drive-notification-server)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:54:68
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout]    |                                                                    ^                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout] 54 +     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<dyn std::error::Error + 'static >> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Module`
[INFO] [stdout]  --> no-drive-notification-server/src/main.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use shaku::{Component, HasComponent, Interface, module, Module, Provider};
[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 variable: `user_id`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()> {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_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: `topics`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:29:48
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()> {
[INFO] [stdout]    |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_topics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()> {
[INFO] [stdout]    |                                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mqtt_client` is never read
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct NotificationServiceImpl {
[INFO] [stdout]    |        ----------------------- field in this struct
[INFO] [stdout] 25 |     mqtt_client: AsyncClient,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_notification` is never used
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | trait INotificationService: Interface {
[INFO] [stdout]    |       -------------------- method in this trait
[INFO] [stdout] 40 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()>;
[INFO] [stdout] 41 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:54:68
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout]    |                                                                    ^                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout] 54 +     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<dyn std::error::Error + 'static >> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Module`
[INFO] [stdout]  --> no-drive-file-service/src/main.rs:8:57
[INFO] [stdout]   |
[INFO] [stdout] 8 | use shaku::{module, Component, HasComponent, Interface, Module};
[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 variable: `file_data`
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn upload_file(&self, file_data: TempFile) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Module`
[INFO] [stdout]  --> no-drive-file-service/src/main.rs:8:57
[INFO] [stdout]   |
[INFO] [stdout] 8 | use shaku::{module, Component, HasComponent, Interface, Module};
[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: `Module`
[INFO] [stdout]  --> no-drive-notification-server/src/main.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use shaku::{Component, HasComponent, Interface, module, Module, Provider};
[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 variable: `file_data`
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn upload_file(&self, file_data: TempFile) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()> {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_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: `topics`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:29:48
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()> {
[INFO] [stdout]    |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_topics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()> {
[INFO] [stdout]    |                                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_data`
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn register_user(&self, user_data: UserData) -> Result<()> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `credentials`
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:38:31
[INFO] [stdout]    |
[INFO] [stdout] 38 |    async fn login_user(&self, credentials: Credentials) -> Result<Token> {
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn provide(module: &AppModule) -> Result<Box<AsyncClient>, Box<(dyn std::error::Error + 'static)>> {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Credentials` is never constructed
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Credentials {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Token(String);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `login_user` is never used
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait IUserService: Interface {
[INFO] [stdout]    |       ------------ method in this trait
[INFO] [stdout] 44 |     async fn register_user(&self, user_data: UserData) -> Result<()>;
[INFO] [stdout] 45 |     async fn login_user(&self, credentials: Credentials) -> Result<Token>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `folder_path` is never read
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct LocalFileServiceImpl {
[INFO] [stdout]    |        -------------------- field in this struct
[INFO] [stdout] 17 |     #[shaku(default = Mutex::new(String::from("./tmp").into()))]
[INFO] [stdout] 18 |     folder_path: Mutex<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `download_file` is never used
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | trait IFileService: Interface {
[INFO] [stdout]    |       ------------ method in this trait
[INFO] [stdout] 39 |     async fn upload_file(&self, file_data: TempFile) -> Result<()>;
[INFO] [stdout] 40 |     async fn download_file(&self, file_id: String) -> Result<FileData>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mqtt_client` is never read
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct NotificationServiceImpl {
[INFO] [stdout]    |        ----------------------- field in this struct
[INFO] [stdout] 25 |     mqtt_client: AsyncClient,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_notification` is never used
[INFO] [stdout]   --> no-drive-notification-server/src/main.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | trait INotificationService: Interface {
[INFO] [stdout]    |       -------------------- method in this trait
[INFO] [stdout] 40 |     async fn subscribe(&self, user_id: String, topics: Vec<String>) -> Result<()>;
[INFO] [stdout] 41 |     async fn send_notification(&self, user_id: String, message: String) -> Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `folder_path` is never read
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct LocalFileServiceImpl {
[INFO] [stdout]    |        -------------------- field in this struct
[INFO] [stdout] 17 |     #[shaku(default = Mutex::new(String::from("./tmp").into()))]
[INFO] [stdout] 18 |     folder_path: Mutex<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `download_file` is never used
[INFO] [stdout]   --> no-drive-file-service/src/main.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | trait IFileService: Interface {
[INFO] [stdout]    |       ------------ method in this trait
[INFO] [stdout] 39 |     async fn upload_file(&self, file_data: TempFile) -> Result<()>;
[INFO] [stdout] 40 |     async fn download_file(&self, file_id: String) -> Result<FileData>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_data`
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn register_user(&self, user_data: UserData) -> Result<()> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `credentials`
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:38:31
[INFO] [stdout]    |
[INFO] [stdout] 38 |    async fn login_user(&self, credentials: Credentials) -> Result<Token> {
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Credentials` is never constructed
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Credentials {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Token(String);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `login_user` is never used
[INFO] [stdout]   --> no-drive-account-service/src/main.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait IUserService: Interface {
[INFO] [stdout]    |       ------------ method in this trait
[INFO] [stdout] 44 |     async fn register_user(&self, user_data: UserData) -> Result<()>;
[INFO] [stdout] 45 |     async fn login_user(&self, credentials: Credentials) -> Result<Token>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.27s
[INFO] running `Command { std: "docker" "inspect" "7ebac36a333fd478c52b545bdd60f9d00a85922709b6baea2f18fde988de7ce0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ebac36a333fd478c52b545bdd60f9d00a85922709b6baea2f18fde988de7ce0", kill_on_drop: false }`
[INFO] [stdout] 7ebac36a333fd478c52b545bdd60f9d00a85922709b6baea2f18fde988de7ce0
