[INFO] cloning repository https://github.com/DigitalCreationsCo/lailaishop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DigitalCreationsCo/lailaishop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDigitalCreationsCo%2Flailaishop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDigitalCreationsCo%2Flailaishop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b490532cca252ade33490d35c1bc7ac053547699
[INFO] checking DigitalCreationsCo/lailaishop against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDigitalCreationsCo%2Flailaishop" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DigitalCreationsCo/lailaishop
[INFO] finished tweaking git repo https://github.com/DigitalCreationsCo/lailaishop
[INFO] tweaked toml for git repo https://github.com/DigitalCreationsCo/lailaishop written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DigitalCreationsCo/lailaishop on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DigitalCreationsCo/lailaishop 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9c4adf7bddf6aa924ae609ef6248a06ab7eabdb360ded3fd6d9818e70ea83a8
[INFO] running `Command { std: "docker" "start" "-a" "a9c4adf7bddf6aa924ae609ef6248a06ab7eabdb360ded3fd6d9818e70ea83a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9c4adf7bddf6aa924ae609ef6248a06ab7eabdb360ded3fd6d9818e70ea83a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9c4adf7bddf6aa924ae609ef6248a06ab7eabdb360ded3fd6d9818e70ea83a8", kill_on_drop: false }`
[INFO] [stdout] a9c4adf7bddf6aa924ae609ef6248a06ab7eabdb360ded3fd6d9818e70ea83a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f37b930bbf101377f6946a4b54884476a927559ce36c1c67a6b22ead84a3f48a
[INFO] running `Command { std: "docker" "start" "-a" "f37b930bbf101377f6946a4b54884476a927559ce36c1c67a6b22ead84a3f48a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.99
[INFO] [stderr]    Compiling wasm-bindgen v0.2.99
[INFO] [stderr]    Compiling cc v1.2.5
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]    Compiling serde_json v1.0.134
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling tinyvec v1.8.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling syn v2.0.91
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling rustix v0.38.42
[INFO] [stderr]    Compiling prettyplease v0.2.25
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling chrono v0.4.39
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.99
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling serde_derive v1.0.216
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling gloo-worker-macros v0.1.0
[INFO] [stderr]    Compiling implicit-clone-derive v0.1.1
[INFO] [stderr]     Checking implicit-clone v0.4.9
[INFO] [stderr]    Compiling yew-macro v0.21.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.99
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling yew-router-macro v0.18.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.99
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking js-sys v0.3.76
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking pinned v0.1.0
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking prokio v0.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking web-sys v0.3.76
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.49
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking gloo-timers v0.3.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking sqlx-postgres v0.7.4
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking gloo-utils v0.2.0
[INFO] [stderr]     Checking gloo-events v0.2.0
[INFO] [stderr]     Checking gloo-dialogs v0.2.0
[INFO] [stderr]     Checking gloo-render v0.2.0
[INFO] [stderr]     Checking wasm-logger v0.2.0
[INFO] [stderr]     Checking gloo-file v0.3.0
[INFO] [stderr]     Checking gloo-console v0.3.0
[INFO] [stderr]     Checking gloo-history v0.2.2
[INFO] [stderr]     Checking gloo-storage v0.3.0
[INFO] [stderr]     Checking gloo-net v0.4.0
[INFO] [stderr]     Checking gloo-worker v0.4.0
[INFO] [stderr]     Checking gloo-worker v0.5.0
[INFO] [stderr]     Checking gloo-net v0.5.0
[INFO] [stderr]     Checking gloo v0.10.0
[INFO] [stderr]     Checking gloo v0.11.0
[INFO] [stderr]     Checking yew v0.21.0
[INFO] [stderr]     Checking yew-router v0.18.0
[INFO] [stderr]     Checking yew-hooks v0.3.3
[INFO] [stderr]     Checking live-marketplace v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]  --> src/services/inventory.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen_futures;;
[INFO] [stdout]   |                          ^
[INFO] [stdout]   |
[INFO] [stdout]   = help: `use` import declarations are not followed by a semicolon
[INFO] [stdout] help: remove this semicolon
[INFO] [stdout]   |
[INFO] [stdout] 4 - use wasm_bindgen_futures;;
[INFO] [stdout] 4 + use wasm_bindgen_futures;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `;`
[INFO] [stdout]  --> src/services/inventory.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen_futures;;
[INFO] [stdout]   |                          ^
[INFO] [stdout]   |
[INFO] [stdout]   = help: `use` import declarations are not followed by a semicolon
[INFO] [stdout] help: remove this semicolon
[INFO] [stdout]   |
[INFO] [stdout] 4 - use wasm_bindgen_futures;;
[INFO] [stdout] 4 + use wasm_bindgen_futures;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hooks cannot be called at this position.
[INFO] [stdout]   --> src/components/product.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move hooks to the top-level of your function.
[INFO] [stdout]    = note: see: https://yew.rs/docs/next/concepts/function-components/hooks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hooks cannot be called at this position.
[INFO] [stdout]   --> src/components/product.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move hooks to the top-level of your function.
[INFO] [stdout]    = note: see: https://yew.rs/docs/next/concepts/function-components/hooks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/services/analytics.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |           let sales = sqlx::query!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 34 | |             r#"
[INFO] [stdout] 35 | |             SELECT 
[INFO] [stdout] 36 | |                 SUM(quantity) as total_units,
[INFO] [stdout] ...  |
[INFO] [stdout] 44 | |             end_date
[INFO] [stdout] 45 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/services/analytics.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |           let sales = sqlx::query!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 109 | |             r#"
[INFO] [stdout] 110 | |             SELECT SUM(quantity) as total_quantity
[INFO] [stdout] 111 | |             FROM sales
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |             thirty_days_ago
[INFO] [stdout] 117 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/services/notification.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let sellers = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 56 | |             Seller,
[INFO] [stdout] 57 | |             r#"
[INFO] [stdout] 58 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |             "#
[INFO] [stdout] 69 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/services/analytics.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |           let sales = sqlx::query!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 34 | |             r#"
[INFO] [stdout] 35 | |             SELECT 
[INFO] [stdout] 36 | |                 SUM(quantity) as total_units,
[INFO] [stdout] ...  |
[INFO] [stdout] 44 | |             end_date
[INFO] [stdout] 45 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/services/analytics.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |           let sales = sqlx::query!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 109 | |             r#"
[INFO] [stdout] 110 | |             SELECT SUM(quantity) as total_quantity
[INFO] [stdout] 111 | |             FROM sales
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |             thirty_days_ago
[INFO] [stdout] 117 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/services/notification.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 |           let sellers = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 56 | |             Seller,
[INFO] [stdout] 57 | |             r#"
[INFO] [stdout] 58 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |             "#
[INFO] [stdout] 69 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `types`
[INFO] [stdout]  --> src/components/product.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use types::InventoryUpdate;
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `crate::types`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `services`
[INFO] [stdout]  --> src/components/product.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use services::InventoryManager;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `crate::services`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_tungstenite`
[INFO] [stdout]  --> src/services/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio_tungstenite::accept_async;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_tungstenite`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_tungstenite`, use `cargo add tokio_tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `types`
[INFO] [stdout]  --> src/components/product.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use types::InventoryUpdate;
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `crate::types`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_tungstenite`
[INFO] [stdout]  --> src/services/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio_tungstenite::WebSocketStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_tungstenite`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_tungstenite`, use `cargo add tokio_tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `services`
[INFO] [stdout]  --> src/components/product.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use services::InventoryManager;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `crate::services`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `chat::Chat`
[INFO] [stdout]  --> src/components/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use chat::Chat;
[INFO] [stdout]   |         ^^^^^^----
[INFO] [stdout]   |         |     |
[INFO] [stdout]   |         |     help: a similar name exists in the module (notice the capitalization): `chat`
[INFO] [stdout]   |         no `Chat` in `components::chat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_tungstenite`
[INFO] [stdout]  --> src/services/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio_tungstenite::accept_async;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_tungstenite`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_tungstenite`, use `cargo add tokio_tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `cart::Cart`
[INFO] [stdout]  --> src/components/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use cart::Cart;
[INFO] [stdout]   |         ^^^^^^----
[INFO] [stdout]   |         |     |
[INFO] [stdout]   |         |     help: a similar name exists in the module (notice the capitalization): `cart`
[INFO] [stdout]   |         no `Cart` in `components::cart`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `home::Home`
[INFO] [stdout]  --> src/pages/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use home::Home;
[INFO] [stdout]   |         ^^^^^^^^^^ no `Home` in `pages::home`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub use home::Home;
[INFO] [stdout] 6 + pub use home::home;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub use home::Home;
[INFO] [stdout] 6 + pub use crate::Route::Home;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `seller_store::SellerStore`
[INFO] [stdout]  --> src/pages/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use seller_store::SellerStore;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ no `SellerStore` in `pages::seller_store`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub use seller_store::SellerStore;
[INFO] [stdout] 7 + pub use seller_store::seller_store;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub use seller_store::SellerStore;
[INFO] [stdout] 7 + pub use crate::Route::SellerStore;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `sign_in::SignIn`
[INFO] [stdout]  --> src/pages/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use sign_in::SignIn;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ no `SignIn` in `pages::sign_in`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 8 - pub use sign_in::SignIn;
[INFO] [stdout] 8 + pub use crate::Route::SignIn;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `account::Account`
[INFO] [stdout]  --> src/pages/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use account::Account; 
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^ no `Account` in `pages::account`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 9 - pub use account::Account; 
[INFO] [stdout] 9 + pub use account::account; 
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 9 - pub use account::Account; 
[INFO] [stdout] 9 + pub use crate::Route::Account; 
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Err(anyhow!("Unable to reserve product"))
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use anyhow::anyhow;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_tungstenite`
[INFO] [stdout]  --> src/services/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio_tungstenite::WebSocketStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_tungstenite`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_tungstenite`, use `cargo add tokio_tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `chat::Chat`
[INFO] [stdout]  --> src/components/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use chat::Chat;
[INFO] [stdout]   |         ^^^^^^----
[INFO] [stdout]   |         |     |
[INFO] [stdout]   |         |     help: a similar name exists in the module (notice the capitalization): `chat`
[INFO] [stdout]   |         no `Chat` in `components::chat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `cart::Cart`
[INFO] [stdout]  --> src/components/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use cart::Cart;
[INFO] [stdout]   |         ^^^^^^----
[INFO] [stdout]   |         |     |
[INFO] [stdout]   |         |     help: a similar name exists in the module (notice the capitalization): `cart`
[INFO] [stdout]   |         no `Cart` in `components::cart`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `home::Home`
[INFO] [stdout]  --> src/pages/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use home::Home;
[INFO] [stdout]   |         ^^^^^^^^^^ no `Home` in `pages::home`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub use home::Home;
[INFO] [stdout] 6 + pub use home::home;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub use home::Home;
[INFO] [stdout] 6 + pub use crate::Route::Home;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/services/analytics.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use serde::Serialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/services/analytics.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use serde::Deserialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `seller_store::SellerStore`
[INFO] [stdout]  --> src/pages/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use seller_store::SellerStore;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ no `SellerStore` in `pages::seller_store`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub use seller_store::SellerStore;
[INFO] [stdout] 7 + pub use seller_store::seller_store;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub use seller_store::SellerStore;
[INFO] [stdout] 7 + pub use crate::Route::SellerStore;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `sign_in::SignIn`
[INFO] [stdout]  --> src/pages/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use sign_in::SignIn;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ no `SignIn` in `pages::sign_in`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 8 - pub use sign_in::SignIn;
[INFO] [stdout] 8 + pub use crate::Route::SignIn;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `account::Account`
[INFO] [stdout]  --> src/pages/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use account::Account; 
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^ no `Account` in `pages::account`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 9 - pub use account::Account; 
[INFO] [stdout] 9 + pub use account::account; 
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]   |
[INFO] [stdout] 9 - pub use account::Account; 
[INFO] [stdout] 9 + pub use crate::Route::Account; 
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Err(anyhow!("Unable to reserve product"))
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use anyhow::anyhow;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/account.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Account)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/account.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(SignIn)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Serialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(SellerStore)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use serde::Deserialize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/home.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Home)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/services/analytics.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use serde::Serialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/services/analytics.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]   |
[INFO] [stdout] 1 + use serde::Deserialize;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/home.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/components/cart.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Cart)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]   --> src/components/cart.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     html! {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::html;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::html;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/account.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Account)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/account.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/components/chat.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Chat)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(SignIn)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]   --> src/components/chat.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     html! {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::html;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::html;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(SellerStore)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/pages/home.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Home)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]  --> src/pages/home.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     html! {
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/components/cart.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Cart)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]   --> src/components/cart.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     html! {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::html;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::html;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `function_component` in this scope
[INFO] [stdout]  --> src/components/chat.rs:1:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[function_component(Chat)]
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::function_component;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `html` in this scope
[INFO] [stdout]   --> src/components/chat.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     html! {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::html;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::html;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/components/chat.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn chat() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/chat.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let messages = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/chat.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let message_input = use_state(String::new);
[INFO] [stdout]   |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Callback`
[INFO] [stdout]   --> src/components/chat.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         Callback::from(move |e: FocusEvent| {
[INFO] [stdout]    |         ^^^^^^^^ use of undeclared type `Callback`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::Callback;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::Callback;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `FocusEvent` in this scope
[INFO] [stdout]   --> src/components/chat.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 |         Callback::from(move |e: FocusEvent| {
[INFO] [stdout]    |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use web_sys::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/components/product.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub product: Product,
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Product` in this scope
[INFO] [stdout]   --> src/components/product.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     product.set(Product {
[INFO] [stdout]    |                                 ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `spawn_local` in this scope
[INFO] [stdout]   --> src/components/product.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 spawn_local(async move {
[INFO] [stdout]    |                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::task::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::platform::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/components/cart.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn cart() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/cart.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let cart_items = use_state(HashMap::new);
[INFO] [stdout]   |                      ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]  --> src/components/cart.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let cart_items = use_state(HashMap::new);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Callback`
[INFO] [stdout]  --> src/components/cart.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Callback::from(move |_| {
[INFO] [stdout]   |         ^^^^^^^^ use of undeclared type `Callback`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Callback;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Callback;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `spawn_local` in this scope
[INFO] [stdout]   --> src/components/cart.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             spawn_local(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::task::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::platform::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_context` in this scope
[INFO] [stdout]   --> src/components/cart.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                         ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::use_context;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::use_context;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/components/cart.rs:11:55
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]   --> src/components/cart.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     cart_items.set(HashMap::new());
[INFO] [stdout]    |                                    ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::collections::HashMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `JsValue`
[INFO] [stdout]   --> src/components/stream.rs:19:40
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 constraints.set_video(&JsValue::from(true));
[INFO] [stdout]    |                                        ^^^^^^^ use of undeclared type `JsValue`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `JsValue`
[INFO] [stdout]   --> src/components/stream.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 constraints.set_audio(&JsValue::from(true));
[INFO] [stdout]    |                                        ^^^^^^^ use of undeclared type `JsValue`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `JsValue` in this scope
[INFO] [stdout]   --> src/components/stream.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     Ok::<(), JsValue>(())
[INFO] [stdout]    |                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/home.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn home() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn seller_store() -> Html {
[INFO] [stdout]   |                          ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn sign_in() -> Html {
[INFO] [stdout]   |                     ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/account.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn account() -> Html {
[INFO] [stdout]   |                     ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/account.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |     low_stock_items: Vec<Product>,
[INFO] [stdout]    |                          ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     out_of_stock_items: Vec<Product>,
[INFO] [stdout]    |                             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                        ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::Arc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Pool` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 |     db_pool: Pool<Postgres>,
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a builtin type with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 28 -     db_pool: Pool<Postgres>,
[INFO] [stdout] 28 +     db_pool: bool<Postgres>,
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::Pool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Postgres` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |     db_pool: Pool<Postgres>,
[INFO] [stdout]    |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::Postgres;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:61:34
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let low_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let out_of_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:86:62
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>> {
[INFO] [stdout]    |                                                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `User` in this scope
[INFO] [stdout]  --> src/services/auth.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn sign_in_with_google() -> Result<User> {
[INFO] [stdout]   |                                              ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::types::User;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RwLock` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                   ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::inventory::tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::nonpoison::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout]   = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                          ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                                          ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::types::Product;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::iter::Product;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RwLock` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]   |                     ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::inventory::tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::nonpoison::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout]   = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]   |                            ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `WebSocketSender` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:9:44
[INFO] [stdout]    |
[INFO] [stdout]  9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: type alias `crate::services::server::WebSocketSender` exists but is inaccessible
[INFO] [stdout]   --> src/services/server.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | type WebSocketSender = futures::stream::SplitSink<WebSocketStream<TcpStream>, tungstenite::Message>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:53:65
[INFO] [stdout]    |
[INFO] [stdout] 53 |     async fn broadcast_update(&self, product_id: &str, product: Product) {
[INFO] [stdout]    |                                                                 ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `InventoryUpdate` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct InventoryManager {
[INFO] [stdout]    | --------------------------- similarly named struct `InventoryManager` defined here
[INFO] [stdout] ...
[INFO] [stdout] 54 |         let update = InventoryUpdate {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 54 -         let update = InventoryUpdate {
[INFO] [stdout] 54 +         let update = InventoryManager {
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::WebSocketMessage::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/components/chat.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn chat() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InventoryOperation`
[INFO] [stdout]   --> src/services/inventory.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |             operation: InventoryOperation::StockUpdate,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ use of undeclared type `InventoryOperation`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryOperation;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PgPool` in this scope
[INFO] [stdout]   --> src/services/notification.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |     db_pool: Arc<PgPool>,
[INFO] [stdout]    |                  ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::PgPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/chat.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let messages = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PgPool` in this scope
[INFO] [stdout]   --> src/services/notification.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn new(db_pool: Arc<PgPool>) -> Self {
[INFO] [stdout]    |                             ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::PgPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                        ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::InventoryManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 |     reservation_manager: Arc<ReservationManager>,
[INFO] [stdout]   |                          ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ReservationManager` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     reservation_manager: Arc<ReservationManager>,
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::ReservationManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BulkOrderItem` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:7:59
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub async fn process_bulk_purchase(&self, orders: Vec<BulkOrderItem>) -> Result<PurchaseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<BulkOrderItem> PurchaseManager {
[INFO] [stdout]   |     +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/chat.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let message_input = use_state(String::new);
[INFO] [stdout]   |                         ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Callback`
[INFO] [stdout]   --> src/components/chat.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         Callback::from(move |e: FocusEvent| {
[INFO] [stdout]    |         ^^^^^^^^ use of undeclared type `Callback`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::Callback;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::Callback;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `FocusEvent` in this scope
[INFO] [stdout]   --> src/components/chat.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 |         Callback::from(move |e: FocusEvent| {
[INFO] [stdout]    |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use web_sys::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::FocusEvent;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/components/product.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub product: Product,
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Product` in this scope
[INFO] [stdout]   --> src/components/product.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     product.set(Product {
[INFO] [stdout]    |                                 ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `spawn_local` in this scope
[INFO] [stdout]   --> src/components/product.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 spawn_local(async move {
[INFO] [stdout]    |                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::task::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::platform::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/components/cart.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn cart() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/components/cart.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let cart_items = use_state(HashMap::new);
[INFO] [stdout]   |                      ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]  --> src/components/cart.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let cart_items = use_state(HashMap::new);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Callback`
[INFO] [stdout]  --> src/components/cart.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Callback::from(move |_| {
[INFO] [stdout]   |         ^^^^^^^^ use of undeclared type `Callback`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Callback;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Callback;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `spawn_local` in this scope
[INFO] [stdout]   --> src/components/cart.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             spawn_local(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::task::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::platform::spawn_local;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_context` in this scope
[INFO] [stdout]   --> src/components/cart.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                         ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::use_context;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use yew::use_context;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/components/cart.rs:11:55
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let inventory_manager = use_context::<InventoryManager>().unwrap();
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]   --> src/components/cart.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     cart_items.set(HashMap::new());
[INFO] [stdout]    |                                    ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::collections::HashMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `JsValue`
[INFO] [stdout]   --> src/components/stream.rs:19:40
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 constraints.set_video(&JsValue::from(true));
[INFO] [stdout]    |                                        ^^^^^^^ use of undeclared type `JsValue`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `JsValue`
[INFO] [stdout]   --> src/components/stream.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 constraints.set_audio(&JsValue::from(true));
[INFO] [stdout]    |                                        ^^^^^^^ use of undeclared type `JsValue`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `JsValue` in this scope
[INFO] [stdout]   --> src/components/stream.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     Ok::<(), JsValue>(())
[INFO] [stdout]    |                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use wasm_bindgen::JsValue;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/home.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn home() -> Html {
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PurchaseResult` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:7:85
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub async fn process_bulk_purchase(&self, orders: Vec<BulkOrderItem>) -> Result<PurchaseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]   |                                                                                     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<PurchaseResult> PurchaseManager {
[INFO] [stdout]   |     ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `PurchaseResult` in this scope
[INFO] [stdout]   --> src/services/purchase.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Ok(PurchaseResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                        ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::InventoryManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Duration` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     timeout_duration: Duration,
[INFO] [stdout]   |                       ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::reservation::tokio::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chrono::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inventory_manager: Arc<InventoryManager>) -> Self {
[INFO] [stdout]    |                                   ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::Arc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inventory_manager: Arc<InventoryManager>) -> Self {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]   --> src/services/reservation.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |             timeout_duration: Duration::from_secs(15 * 60), // 15 minutes
[INFO] [stdout]    |                               ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::reservation::tokio::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use chrono::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 sleep(timeout_duration).await;
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::reservation::tokio::time::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::__rt::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::time::sleep;
[INFO] [stdout]    |
[INFO] [stdout]    = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryUpdate` in this scope
[INFO] [stdout]   --> src/services/server.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     InventoryUpdate(InventoryUpdate),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Seller` in this scope
[INFO] [stdout]   --> src/services/server.rs:19:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     SellersResponse { request_id: String, sellers: Vec<Seller> },
[INFO] [stdout]    |                                                        ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::Seller;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     notification_manager: Arc<NotificationManager>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |         inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |         notification_manager: Arc<NotificationManager>
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:68:32
[INFO] [stdout]    |
[INFO] [stdout] 68 |         inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |         notification_manager: Arc<NotificationManager>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProductCard`
[INFO] [stdout]  --> src/components/mod.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use product::{ProductCard};
[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: `stream::LiveStream`
[INFO] [stdout]  --> src/components/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use stream::LiveStream;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/services/inventory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio`
[INFO] [stdout]  --> src/services/inventory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures`
[INFO] [stdout]  --> src/services/inventory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen_futures;;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/services/inventory.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Result, anyhow};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/services/reservation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures`
[INFO] [stdout]  --> src/services/reservation.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wasm_bindgen_futures;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn seller_store() -> Html {
[INFO] [stdout]   |                          ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/seller_store.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn sign_in() -> Html {
[INFO] [stdout]   |                     ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/sign_in.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Html` in this scope
[INFO] [stdout]  --> src/pages/account.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn account() -> Html {
[INFO] [stdout]   |                     ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these type aliases
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::Html;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::Html;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_state` in this scope
[INFO] [stdout]  --> src/pages/account.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let products = use_state(Vec::new);
[INFO] [stdout]   |                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use yew::use_state;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |     low_stock_items: Vec<Product>,
[INFO] [stdout]    |                          ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     out_of_stock_items: Vec<Product>,
[INFO] [stdout]    |                             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                        ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::Arc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Pool` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 |     db_pool: Pool<Postgres>,
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a builtin type with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 28 -     db_pool: Pool<Postgres>,
[INFO] [stdout] 28 +     db_pool: bool<Postgres>,
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::Pool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Postgres` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |     db_pool: Pool<Postgres>,
[INFO] [stdout]    |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::Postgres;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analytics::*`
[INFO] [stdout]   --> src/services/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use analytics::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth::*`
[INFO] [stdout]   --> src/services/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use auth::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inventory::*`
[INFO] [stdout]   --> src/services/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use inventory::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `notification::*`
[INFO] [stdout]   --> src/services/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use notification::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `payment::*`
[INFO] [stdout]   --> src/services/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use payment::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `purchase::*`
[INFO] [stdout]   --> src/services/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use purchase::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reservation::*`
[INFO] [stdout]   --> src/services/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use reservation::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server::*`
[INFO] [stdout]   --> src/services/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use server::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:61:34
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let low_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let out_of_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/analytics.rs:86:62
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>> {
[INFO] [stdout]    |                                                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `User` in this scope
[INFO] [stdout]  --> src/services/auth.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn sign_in_with_google() -> Result<User> {
[INFO] [stdout]   |                                              ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::types::User;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RwLock` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                   ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::inventory::tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::nonpoison::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout]   = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                          ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 |     products: Arc<RwLock<HashMap<String, Product>>>,
[INFO] [stdout]   |                                          ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::types::Product;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::iter::Product;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RwLock` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]   |                     ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::inventory::tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::nonpoison::RwLock;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::sync::RwLock;
[INFO] [stdout]   |
[INFO] [stdout]   = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> src/services/inventory.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]   |                            ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `WebSocketSender` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:9:44
[INFO] [stdout]    |
[INFO] [stdout]  9 |     ws_clients: Arc<RwLock<HashMap<String, WebSocketSender>>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: type alias `crate::services::server::WebSocketSender` exists but is inaccessible
[INFO] [stdout]   --> src/services/server.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | type WebSocketSender = futures::stream::SplitSink<WebSocketStream<TcpStream>, tungstenite::Message>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Product` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:53:65
[INFO] [stdout]    |
[INFO] [stdout] 53 |     async fn broadcast_update(&self, product_id: &str, product: Product) {
[INFO] [stdout]    |                                                                 ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::Product;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::iter::Product;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `InventoryUpdate` in this scope
[INFO] [stdout]   --> src/services/inventory.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct InventoryManager {
[INFO] [stdout]    | --------------------------- similarly named struct `InventoryManager` defined here
[INFO] [stdout] ...
[INFO] [stdout] 54 |         let update = InventoryUpdate {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 54 -         let update = InventoryUpdate {
[INFO] [stdout] 54 +         let update = InventoryManager {
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::WebSocketMessage::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InventoryOperation`
[INFO] [stdout]   --> src/services/inventory.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |             operation: InventoryOperation::StockUpdate,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ use of undeclared type `InventoryOperation`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryOperation;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PgPool` in this scope
[INFO] [stdout]   --> src/services/notification.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |     db_pool: Arc<PgPool>,
[INFO] [stdout]    |                  ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::PgPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PgPool` in this scope
[INFO] [stdout]   --> src/services/notification.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn new(db_pool: Arc<PgPool>) -> Self {
[INFO] [stdout]    |                             ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::PgPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                        ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::InventoryManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 |     reservation_manager: Arc<ReservationManager>,
[INFO] [stdout]   |                          ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ReservationManager` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     reservation_manager: Arc<ReservationManager>,
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::ReservationManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BulkOrderItem` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:7:59
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub async fn process_bulk_purchase(&self, orders: Vec<BulkOrderItem>) -> Result<PurchaseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<BulkOrderItem> PurchaseManager {
[INFO] [stdout]   |     +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PurchaseResult` in this scope
[INFO] [stdout]  --> src/services/purchase.rs:7:85
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub async fn process_bulk_purchase(&self, orders: Vec<BulkOrderItem>) -> Result<PurchaseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]   |                                                                                     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<PurchaseResult> PurchaseManager {
[INFO] [stdout]   |     ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `PurchaseResult` in this scope
[INFO] [stdout]   --> src/services/purchase.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Ok(PurchaseResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                        ^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::sync::Arc;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::InventoryManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Duration` in this scope
[INFO] [stdout]  --> src/services/reservation.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     timeout_duration: Duration,
[INFO] [stdout]   |                       ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::services::reservation::tokio::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use std::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chrono::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use tokio::time::Duration;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Arc` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inventory_manager: Arc<InventoryManager>) -> Self {
[INFO] [stdout]    |                                   ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::Arc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(inventory_manager: Arc<InventoryManager>) -> Self {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]   --> src/services/reservation.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |             timeout_duration: Duration::from_secs(15 * 60), // 15 minutes
[INFO] [stdout]    |                               ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::reservation::tokio::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use chrono::Duration;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `sleep` in this scope
[INFO] [stdout]   --> src/services/reservation.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 sleep(timeout_duration).await;
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::reservation::tokio::time::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::thread::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::__rt::sleep;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use tokio::time::sleep;
[INFO] [stdout]    |
[INFO] [stdout]    = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryUpdate` in this scope
[INFO] [stdout]   --> src/services/server.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     InventoryUpdate(InventoryUpdate),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::types::InventoryUpdate;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Seller` in this scope
[INFO] [stdout]   --> src/services/server.rs:19:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     SellersResponse { request_id: String, sellers: Vec<Seller> },
[INFO] [stdout]    |                                                        ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::Seller;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     notification_manager: Arc<NotificationManager>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |         inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |         notification_manager: Arc<NotificationManager>
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `InventoryManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:68:32
[INFO] [stdout]    |
[INFO] [stdout] 68 |         inventory_manager: Arc<InventoryManager>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::InventoryManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NotificationManager` in this scope
[INFO] [stdout]   --> src/services/server.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |         notification_manager: Arc<NotificationManager>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::services::NotificationManager;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProductCard`
[INFO] [stdout]  --> src/components/mod.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use product::{ProductCard};
[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: `stream::LiveStream`
[INFO] [stdout]  --> src/components/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use stream::LiveStream;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/services/inventory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio`
[INFO] [stdout]  --> src/services/inventory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures`
[INFO] [stdout]  --> src/services/inventory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen_futures;;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/services/inventory.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Result, anyhow};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/services/reservation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures`
[INFO] [stdout]  --> src/services/reservation.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wasm_bindgen_futures;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analytics::*`
[INFO] [stdout]   --> src/services/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use analytics::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth::*`
[INFO] [stdout]   --> src/services/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use auth::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inventory::*`
[INFO] [stdout]   --> src/services/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use inventory::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `notification::*`
[INFO] [stdout]   --> src/services/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use notification::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `payment::*`
[INFO] [stdout]   --> src/services/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use payment::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `purchase::*`
[INFO] [stdout]   --> src/services/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use purchase::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reservation::*`
[INFO] [stdout]   --> src/services/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use reservation::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server::*`
[INFO] [stdout]   --> src/services/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use server::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:32:115
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub async fn get_sales_metrics(&self, seller_id: &str, start_date: DateTime<Utc>, end_date: DateTime<Utc>) -> Result<SalesMetrics> {
[INFO] [stdout]    |                                                                                                                   ^^^^^^ ------------ supplied 1 generic argument
[INFO] [stdout]    |                                                                                                                   |
[INFO] [stdout]    |                                                                                                                   expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub async fn get_sales_metrics(&self, seller_id: &str, start_date: DateTime<Utc>, end_date: DateTime<Utc>) -> Result<SalesMetrics, E> {
[INFO] [stdout]    |                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn get_inventory_metrics(&self, seller_id: &str) -> Result<InventoryMetrics> {
[INFO] [stdout]    |                                                                   ^^^^^^ ---------------- supplied 1 generic argument
[INFO] [stdout]    |                                                                   |
[INFO] [stdout]    |                                                                   expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn get_inventory_metrics(&self, seller_id: &str) -> Result<InventoryMetrics, E> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:86:75
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>> {
[INFO] [stdout]    |                                                                           ^^^^^^ ---------------------- supplied 1 generic argument
[INFO] [stdout]    |                                                                           |
[INFO] [stdout]    |                                                                           expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>, E> {
[INFO] [stdout]    |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:32:115
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub async fn get_sales_metrics(&self, seller_id: &str, start_date: DateTime<Utc>, end_date: DateTime<Utc>) -> Result<SalesMetrics> {
[INFO] [stdout]    |                                                                                                                   ^^^^^^ ------------ supplied 1 generic argument
[INFO] [stdout]    |                                                                                                                   |
[INFO] [stdout]    |                                                                                                                   expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub async fn get_sales_metrics(&self, seller_id: &str, start_date: DateTime<Utc>, end_date: DateTime<Utc>) -> Result<SalesMetrics, E> {
[INFO] [stdout]    |                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn get_inventory_metrics(&self, seller_id: &str) -> Result<InventoryMetrics> {
[INFO] [stdout]    |                                                                   ^^^^^^ ---------------- supplied 1 generic argument
[INFO] [stdout]    |                                                                   |
[INFO] [stdout]    |                                                                   expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn get_inventory_metrics(&self, seller_id: &str) -> Result<InventoryMetrics, E> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/services/analytics.rs:86:75
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>> {
[INFO] [stdout]    |                                                                           ^^^^^^ ---------------------- supplied 1 generic argument
[INFO] [stdout]    |                                                                           |
[INFO] [stdout]    |                                                                           expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 86 |     async fn generate_reorder_suggestions(&self, products: &[Product]) -> Result<Vec<ReorderSuggestion>, E> {
[INFO] [stdout]    |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `calculate_turnover_rate` found for reference `&AnalyticsManager` in the current scope
[INFO] [stdout]   --> src/services/analytics.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |             stock_turnover_rate: self.calculate_turnover_rate(seller_id).await?,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&AnalyticsManager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `calculate_turnover_rate` found for reference `&AnalyticsManager` in the current scope
[INFO] [stdout]   --> src/services/analytics.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |             stock_turnover_rate: self.calculate_turnover_rate(seller_id).await?,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&AnalyticsManager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/analytics.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let products = self.inventory_manager.get_seller_products(seller_id).await?;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |         let low_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                             -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let products: /* Type */ = self.inventory_manager.get_seller_products(seller_id).await?;
[INFO] [stdout]    |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/analytics.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let products = self.inventory_manager.get_seller_products(seller_id).await?;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |         let low_stock_items: Vec<Product> = products
[INFO] [stdout]    |                                             -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let products: /* Type */ = self.inventory_manager.get_seller_products(seller_id).await?;
[INFO] [stdout]    |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 15 |         
[INFO] [stdout] 16 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 29 |         
[INFO] [stdout] 30 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 15 |         
[INFO] [stdout] 16 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 43 |         
[INFO] [stdout] 44 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let clients = self.ws_clients.read().await;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 61 |         for sender in clients.values() {
[INFO] [stdout]    |                       ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let clients: /* Type */ = self.ws_clients.read().await;
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |             let _ = sender.send(serde_json::to_string(&update).unwrap());
[INFO] [stdout]    |                     ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 29 |         
[INFO] [stdout] 30 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/purchase.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | /                 self.inventory_manager
[INFO] [stdout] 44 | |                     .release_reservation(&order.product_id, order.quantity)
[INFO] [stdout] 45 | |                     .await
[INFO] [stdout]    | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/reservation.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 inventory_manager.release_reservation(&product_id_clone, quantity).await.ok();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut products = self.products.write().await;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 43 |         
[INFO] [stdout] 44 |         if let Some(product) = products.get_mut(product_id) {
[INFO] [stdout]    |                                -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `products` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut products: /* Type */ = self.products.write().await;
[INFO] [stdout]    |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         connected_clients.lock().await.insert(client_id.clone(), ws_sender);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:80:31
[INFO] [stdout]    |
[INFO] [stdout] 80 |         while let Some(msg) = ws_receiver.next().await {
[INFO] [stdout]    |                               ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:82:80
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 if let Ok(message) = serde_json::from_str::<WebSocketMessage>(&msg.to_string()) {
[INFO] [stdout]    |                                                                                ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 | ...                   let clients = connected_clients.lock().await;
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 96 | ...                   for (_, sender) in clients.iter() {
[INFO] [stdout]    |                                          ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 95 |                                     let clients: /* Type */ = connected_clients.lock().await;
[INFO] [stdout]    |                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:97:57
[INFO] [stdout]    |
[INFO] [stdout] 97 | ...                   if let Err(e) = sender.send(msg_str.clone().into()).await {
[INFO] [stdout]    |                                       ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let clients = self.ws_clients.read().await;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 61 |         for sender in clients.values() {
[INFO] [stdout]    |                       ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let clients: /* Type */ = self.ws_clients.read().await;
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/inventory.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |             let _ = sender.send(serde_json::to_string(&update).unwrap());
[INFO] [stdout]    |                     ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         connected_clients.lock().await.remove(&client_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let clients = self.connected_clients.lock().await;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 117 |         for (_, sender) in clients.iter() {
[INFO] [stdout]     |                            ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let clients: /* Type */ = self.connected_clients.lock().await;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:118:29
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if let Err(e) = sender.send(message.clone().into()).await {
[INFO] [stdout]     |                             ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/purchase.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | /                 self.inventory_manager
[INFO] [stdout] 44 | |                     .release_reservation(&order.product_id, order.quantity)
[INFO] [stdout] 45 | |                     .await
[INFO] [stdout]    | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/reservation.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 inventory_manager.release_reservation(&product_id_clone, quantity).await.ok();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ref` found for struct `yew::Callback<IN, OUT>` in the current scope
[INFO] [stdout]   --> src/components/product.rs:35:45
[INFO] [stdout]    |
[INFO] [stdout] 35 |             ws.set_onmessage(Some(onmessage.as_ref().unchecked_ref()));
[INFO] [stdout]    |                                             ^^^^^^ method not found in `yew::Callback<MessageEvent>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_effect_with_deps` in this scope
[INFO] [stdout]    --> src/components/product.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |       use_effect_with_deps(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `use_effect_with`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-0.21.0/src/functional/hooks/use_effect.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | / pub fn use_effect_with<T, F, D>(deps: T, f: F) -> impl Hook<Output = ()>
[INFO] [stdout] 259 | | where
[INFO] [stdout] 260 | |     T: PartialEq + 'static,
[INFO] [stdout] 261 | |     F: FnOnce(&T) -> D + 'static,
[INFO] [stdout] 262 | |     D: TearDown,
[INFO] [stdout]     | |________________- similarly named function `use_effect_with` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/product.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     if inventory_manager.reserve_product(&product_val.id, 1).await.unwrap() {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         connected_clients.lock().await.insert(client_id.clone(), ws_sender);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:80:31
[INFO] [stdout]    |
[INFO] [stdout] 80 |         while let Some(msg) = ws_receiver.next().await {
[INFO] [stdout]    |                               ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:82:80
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 if let Ok(message) = serde_json::from_str::<WebSocketMessage>(&msg.to_string()) {
[INFO] [stdout]    |                                                                                ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/cart.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     if !inventory_manager.purchase_product(product_id, *quantity).await.unwrap() {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 | ...                   let clients = connected_clients.lock().await;
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 96 | ...                   for (_, sender) in clients.iter() {
[INFO] [stdout]    |                                          ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 95 |                                     let clients: /* Type */ = connected_clients.lock().await;
[INFO] [stdout]    |                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/services/server.rs:97:57
[INFO] [stdout]    |
[INFO] [stdout] 97 | ...                   if let Err(e) = sender.send(msg_str.clone().into()).await {
[INFO] [stdout]    |                                       ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         connected_clients.lock().await.remove(&client_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/stream.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |         move |video_ref| {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 11 |             let video = video_ref.cast::<HtmlVideoElement>().unwrap();
[INFO] [stdout]    |                         --------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 10 |         move |video_ref: /* Type */| {
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_effect_with_deps` in this scope
[INFO] [stdout]    --> src/components/stream.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 |       use_effect_with_deps(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `use_effect_with`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-0.21.0/src/functional/hooks/use_effect.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | / pub fn use_effect_with<T, F, D>(deps: T, f: F) -> impl Hook<Output = ()>
[INFO] [stdout] 259 | | where
[INFO] [stdout] 260 | |     T: PartialEq + 'static,
[INFO] [stdout] 261 | |     F: FnOnce(&T) -> D + 'static,
[INFO] [stdout] 262 | |     D: TearDown,
[INFO] [stdout]     | |________________- similarly named function `use_effect_with` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let clients = self.connected_clients.lock().await;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 117 |         for (_, sender) in clients.iter() {
[INFO] [stdout]     |                            ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `clients` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let clients: /* Type */ = self.connected_clients.lock().await;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/services/server.rs:118:29
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if let Err(e) = sender.send(message.clone().into()).await {
[INFO] [stdout]     |                             ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ref` found for struct `yew::Callback<IN, OUT>` in the current scope
[INFO] [stdout]   --> src/components/product.rs:35:45
[INFO] [stdout]    |
[INFO] [stdout] 35 |             ws.set_onmessage(Some(onmessage.as_ref().unchecked_ref()));
[INFO] [stdout]    |                                             ^^^^^^ method not found in `yew::Callback<MessageEvent>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_effect_with_deps` in this scope
[INFO] [stdout]    --> src/components/product.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |       use_effect_with_deps(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `use_effect_with`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-0.21.0/src/functional/hooks/use_effect.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | / pub fn use_effect_with<T, F, D>(deps: T, f: F) -> impl Hook<Output = ()>
[INFO] [stdout] 259 | | where
[INFO] [stdout] 260 | |     T: PartialEq + 'static,
[INFO] [stdout] 261 | |     F: FnOnce(&T) -> D + 'static,
[INFO] [stdout] 262 | |     D: TearDown,
[INFO] [stdout]     | |________________- similarly named function `use_effect_with` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/product.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     if inventory_manager.reserve_product(&product_val.id, 1).await.unwrap() {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/cart.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     if !inventory_manager.purchase_product(product_id, *quantity).await.unwrap() {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/components/stream.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |         move |video_ref| {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 11 |             let video = video_ref.cast::<HtmlVideoElement>().unwrap();
[INFO] [stdout]    |                         --------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 10 |         move |video_ref: /* Type */| {
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `use_effect_with_deps` in this scope
[INFO] [stdout]    --> src/components/stream.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 |       use_effect_with_deps(
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `use_effect_with`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-0.21.0/src/functional/hooks/use_effect.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | / pub fn use_effect_with<T, F, D>(deps: T, f: F) -> impl Hook<Output = ()>
[INFO] [stdout] 259 | | where
[INFO] [stdout] 260 | |     T: PartialEq + 'static,
[INFO] [stdout] 261 | |     F: FnOnce(&T) -> D + 'static,
[INFO] [stdout] 262 | |     D: TearDown,
[INFO] [stdout]     | |________________- similarly named function `use_effect_with` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tungstenite`
[INFO] [stdout]   --> src/services/server.rs:31:79
[INFO] [stdout]    |
[INFO] [stdout] 31 | type WebSocketSender = futures::stream::SplitSink<WebSocketStream<TcpStream>, tungstenite::Message>;
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^ use of unresolved module or unlinked crate `tungstenite`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tungstenite`, use `cargo add tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0282, E0412, E0422, E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tungstenite`
[INFO] [stdout]   --> src/services/server.rs:31:79
[INFO] [stdout]    |
[INFO] [stdout] 31 | type WebSocketSender = futures::stream::SplitSink<WebSocketStream<TcpStream>, tungstenite::Message>;
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^ use of unresolved module or unlinked crate `tungstenite`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tungstenite`, use `cargo add tungstenite` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0282, E0412, E0422, E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `live-marketplace` (bin "live-marketplace" test) due to 130 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `live-marketplace` (bin "live-marketplace") due to 130 previous errors; 16 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f37b930bbf101377f6946a4b54884476a927559ce36c1c67a6b22ead84a3f48a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f37b930bbf101377f6946a4b54884476a927559ce36c1c67a6b22ead84a3f48a", kill_on_drop: false }`
[INFO] [stdout] f37b930bbf101377f6946a4b54884476a927559ce36c1c67a6b22ead84a3f48a
