[INFO] cloning repository https://github.com/ztomer/antiknob
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ztomer/antiknob" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fztomer%2Fantiknob", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fztomer%2Fantiknob'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 061e1b0a64663bd2d203a45ed3efadebf4101733
[INFO] checking ztomer/antiknob against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fztomer%2Fantiknob" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ztomer/antiknob
[INFO] finished tweaking git repo https://github.com/ztomer/antiknob
[INFO] tweaked toml for git repo https://github.com/ztomer/antiknob written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ztomer/antiknob on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ztomer/antiknob 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tray-icon v0.26.1
[INFO] [stderr]   Downloaded hidapi v2.6.7
[INFO] [stderr]   Downloaded cc v1.6.0
[INFO] [stderr]   Downloaded muda v0.21.2
[INFO] [stderr]   Downloaded objc2 v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1
[INFO] running `Command { std: "docker" "start" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.6.0
[INFO] [stderr]    Compiling hidapi v2.6.7
[INFO] [stderr]     Checking antiknob v0.15.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/api/dispatch.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/dispatch.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/describe.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/api/mcp.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/mcp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/api/socket.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/socket.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/led_state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/slot_read.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/thread.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/bind.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/config_backup.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/led.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/fd.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/api/context.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/api/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/api/types.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{json, Value};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/binding.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/binding.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/config.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/device/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/device/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/firmware.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/device_binding.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/device_binding.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/gesture.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/virtual_layer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:176:36
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     .ok_or_else(|| anyhow::anyhow!("no layer at index {idx}"))?;
[INFO] [stdout]     |                                    ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             None => anyhow::bail!("Daemon tap engine not running; cannot read the virtual layer"),
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 |             None => anyhow::bail!("Daemon tap engine not running; cannot pin a variant"),
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:416:59
[INFO] [stdout]     |
[INFO] [stdout] 416 |                     u8::from_str_radix(s, 16).map_err(|_| anyhow::anyhow!("Bad hex byte '{}'", s))
[INFO] [stdout]     |                                                           ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 |             return Err(anyhow::anyhow!(
[INFO] [stdout]     |                        ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:355:17
[INFO] [stdout]     |
[INFO] [stdout] 355 |         None => anyhow::bail!("Daemon closed connection unexpectedly without response"),
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/device/led_state.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     anyhow::bail!(
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 anyhow::bail!(
[INFO] [stdout]    |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     anyhow::bail!(
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 anyhow::bail!("Daemon tap engine not running; cannot switch layer");
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         anyhow::bail!(
[INFO] [stdout]     |                         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 anyhow::bail!("Keymap YAML exceeds 64KB size limit");
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                         anyhow::bail!("Layer {} out of range", idx);
[INFO] [stdout]     |                         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |                 anyhow::bail!(
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         anyhow::bail!("{}", msg);
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde` in this scope
[INFO] [stdout]   --> src/apps.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
[INFO] [stdout]    |                                       ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde` in this scope
[INFO] [stdout]   --> src/apps.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
[INFO] [stdout]    |                                                         ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/binding.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |             anyhow::bail!("a binding with no actions does nothing; remove it or give it an action");
[INFO] [stdout]    |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 anyhow::bail!(
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             anyhow::bail!(
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |             anyhow::bail!("Configuration must contain at least one layer.");
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/device/led_state.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             anyhow::bail!("Short LED reply ({} bytes)", n);
[INFO] [stdout]    |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/host/device_binding.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             anyhow::anyhow!(
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:343:52
[INFO] [stdout]     |
[INFO] [stdout] 343 |             obj.insert("boundDeviceLayers".into(), serde_json::json!([one]));
[INFO] [stdout]     |                                                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/api/context.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[serde(tag = "method", content = "params")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |     #[serde(rename = "get_status")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:117:7
[INFO] [stdout]     |
[INFO] [stdout] 117 |     #[serde(rename = "ping")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:124:7
[INFO] [stdout]     |
[INFO] [stdout] 124 |     #[serde(rename = "list_commands")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |     #[serde(rename = "get_config")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |     #[serde(rename = "set_config")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |     #[serde(rename = "set_layer")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:136:7
[INFO] [stdout]     |
[INFO] [stdout] 136 |     #[serde(rename = "set_led")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:138:11
[INFO] [stdout]     |
[INFO] [stdout] 138 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |     #[serde(rename = "get_led")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 |     #[serde(rename = "bind_slots")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:156:11
[INFO] [stdout]     |
[INFO] [stdout] 156 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:160:11
[INFO] [stdout]     |
[INFO] [stdout] 160 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 164 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 |     #[serde(rename = "get_virtual_layer")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:173:7
[INFO] [stdout]     |
[INFO] [stdout] 173 |     #[serde(rename = "set_virtual_variant")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:175:11
[INFO] [stdout]     |
[INFO] [stdout] 175 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:181:7
[INFO] [stdout]     |
[INFO] [stdout] 181 |     #[serde(rename = "get_knob_mode")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:183:11
[INFO] [stdout]     |
[INFO] [stdout] 183 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:187:7
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[serde(rename = "upload_keymap")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 |     #[serde(rename = "list_apps")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:193:7
[INFO] [stdout]     |
[INFO] [stdout] 193 |     #[serde(rename = "read_slots")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 |     #[serde(rename = "send_raw")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:207:7
[INFO] [stdout]     |
[INFO] [stdout] 207 |     #[serde(rename = "bind_sequence")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:210:11
[INFO] [stdout]     |
[INFO] [stdout] 210 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:213:11
[INFO] [stdout]     |
[INFO] [stdout] 213 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/api/dispatch.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/dispatch.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/describe.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/api/mcp.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/mcp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/api/socket.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/socket.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde_json::{json, Value};
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/led_state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/slot_read.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/device/thread.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/bind.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/config_backup.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/led.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/virtual_layer_tests.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use serde_json::Value;
[INFO] [stdout]    |         ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 |     #[serde(rename = "show_keys")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/binding.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[serde(untagged)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/api/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use serde_json::json;
[INFO] [stdout]    |         ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/fd.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use anyhow::{anyhow, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/api/context.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/api/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/api/types.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{json, Value};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/binding.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/binding.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/config.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]  --> src/device/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/device/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/firmware.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/binding.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `anyhow`
[INFO] [stdout]   --> src/host/device_binding.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{Context, Result};
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/device_binding.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/gesture.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/virtual_layer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]   --> src/host/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:350:51
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:362:51
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:176:36
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     .ok_or_else(|| anyhow::anyhow!("no layer at index {idx}"))?;
[INFO] [stdout]     |                                    ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             None => anyhow::bail!("Daemon tap engine not running; cannot read the virtual layer"),
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 |             None => anyhow::bail!("Daemon tap engine not running; cannot pin a variant"),
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:416:59
[INFO] [stdout]     |
[INFO] [stdout] 416 |                     u8::from_str_radix(s, 16).map_err(|_| anyhow::anyhow!("Bad hex byte '{}'", s))
[INFO] [stdout]     |                                                           ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 |             return Err(anyhow::anyhow!(
[INFO] [stdout]     |                        ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:355:17
[INFO] [stdout]     |
[INFO] [stdout] 355 |         None => anyhow::bail!("Daemon closed connection unexpectedly without response"),
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/device/led_state.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     anyhow::bail!(
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:334:51
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:343:52
[INFO] [stdout]     |
[INFO] [stdout] 343 |             obj.insert("boundDeviceLayers".into(), serde_json::json!([one]));
[INFO] [stdout]     |                                                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/host/device_binding.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             anyhow::anyhow!(
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/device/led_state.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             anyhow::bail!("Short LED reply ({} bytes)", n);
[INFO] [stdout]    |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |             anyhow::bail!("Configuration must contain at least one layer.");
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             anyhow::bail!(
[INFO] [stdout]     |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/config.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 anyhow::bail!(
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/binding.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |             anyhow::bail!("a binding with no actions does nothing; remove it or give it an action");
[INFO] [stdout]    |             ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde` in this scope
[INFO] [stdout]   --> src/apps.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
[INFO] [stdout]    |                                       ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde` in this scope
[INFO] [stdout]   --> src/apps.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
[INFO] [stdout]    |                                                         ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/socket.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |         anyhow::bail!("{}", msg);
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |                 anyhow::bail!(
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                         anyhow::bail!("Layer {} out of range", idx);
[INFO] [stdout]     |                         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 anyhow::bail!("Keymap YAML exceeds 64KB size limit");
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         anyhow::bail!(
[INFO] [stdout]     |                         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 anyhow::bail!("Daemon tap engine not running; cannot switch layer");
[INFO] [stdout]     |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     anyhow::bail!(
[INFO] [stdout]     |                     ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         anyhow::bail!(
[INFO] [stdout]     |         ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 anyhow::bail!(
[INFO] [stdout]    |                 ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[serde(default, alias = "holdTwistL")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[serde(default, alias = "holdTwistR")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 |     #[serde(default = "default_model")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[serde(default = "default_orientation")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:191:3
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:194:7
[INFO] [stdout]     |
[INFO] [stdout] 194 |     #[serde(default = "default_double_tap")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 196 |     #[serde(default = "default_tap_window")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[serde(default = "default_knobs")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/device/mod.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[serde(default = "default_iface_no")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:200:7
[INFO] [stdout]     |
[INFO] [stdout] 200 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/device/mod.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[serde(default = "default_transport")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:202:7
[INFO] [stdout]     |
[INFO] [stdout] 202 |     #[serde(default = "default_scroll_lines")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[serde(rename = "usb")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:224:7
[INFO] [stdout]     |
[INFO] [stdout] 224 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[serde(rename = "wireless_2_4g")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[serde(rename = "bluetooth")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 |     #[serde(default, alias = "twist_l")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/device_binding.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[serde(rename_all = "snake_case", tag = "state")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/gesture.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |     #[serde(default, alias = "twist_r")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |     #[serde(default, alias = "hold_twist_l")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 |     #[serde(default, alias = "hold_twist_r")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[serde(default, alias = "twist_l")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[serde(default, alias = "twist_r")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |     #[serde(default, skip_serializing_if = "Vec::is_empty")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[serde(default, alias = "hold_twist_l")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 |     #[serde(default, skip_serializing_if = "Option::is_none")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 |     #[serde(default, alias = "hold_twist_r")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[serde(tag = "type", rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[serde(rename_all = "snake_case", tag = "reason", content = "variant")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[serde(tag = "type", rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/mod.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[serde(rename_all = "snake_case", tag = "reason", content = "variant")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 |     #[serde(default, alias = "twist_l")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |     #[serde(default, alias = "twist_r")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |     #[serde(default, alias = "hold_twist_l")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 |     #[serde(default, alias = "hold_twist_r")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[serde(default, alias = "twist_l")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |     #[serde(default, skip_serializing_if = "Vec::is_empty")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[serde(default, alias = "twist_r")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 |     #[serde(default, skip_serializing_if = "Option::is_none")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[serde(default, alias = "hold_twist_l")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:191:3
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[serde(rename_all = "camelCase")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:194:7
[INFO] [stdout]     |
[INFO] [stdout] 194 |     #[serde(default = "default_double_tap")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 |     #[serde(default, alias = "hold_twist_r")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 196 |     #[serde(default = "default_tap_window")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/virtual_layer.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:200:7
[INFO] [stdout]     |
[INFO] [stdout] 200 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/gesture.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:202:7
[INFO] [stdout]     |
[INFO] [stdout] 202 |     #[serde(default = "default_scroll_lines")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/host/device_binding.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[serde(rename_all = "snake_case", tag = "state")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/host/mod.rs:224:7
[INFO] [stdout]     |
[INFO] [stdout] 224 |     #[serde(default)]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[serde(rename = "usb")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[serde(rename = "wireless_2_4g")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/firmware.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[serde(rename = "bluetooth")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/device/mod.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[serde(default = "default_iface_no")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/device/mod.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[serde(default = "default_transport")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 |     #[serde(default = "default_model")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[serde(default = "default_orientation")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[serde(default = "default_knobs")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[serde(default, alias = "holdTwistL")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[serde(default, alias = "holdTwistR")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/binding.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[serde(untagged)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/binding.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |         #[serde(default)]
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[serde(tag = "method", content = "params")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |     #[serde(rename = "get_status")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:117:7
[INFO] [stdout]     |
[INFO] [stdout] 117 |     #[serde(rename = "ping")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:124:7
[INFO] [stdout]     |
[INFO] [stdout] 124 |     #[serde(rename = "list_commands")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |     #[serde(rename = "get_config")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |     #[serde(rename = "set_config")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |     #[serde(rename = "set_layer")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:136:7
[INFO] [stdout]     |
[INFO] [stdout] 136 |     #[serde(rename = "set_led")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:138:11
[INFO] [stdout]     |
[INFO] [stdout] 138 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |     #[serde(rename = "get_led")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 |     #[serde(rename = "bind_slots")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:156:11
[INFO] [stdout]     |
[INFO] [stdout] 156 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:160:11
[INFO] [stdout]     |
[INFO] [stdout] 160 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 164 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 |     #[serde(rename = "get_virtual_layer")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:173:7
[INFO] [stdout]     |
[INFO] [stdout] 173 |     #[serde(rename = "set_virtual_variant")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:175:11
[INFO] [stdout]     |
[INFO] [stdout] 175 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:181:7
[INFO] [stdout]     |
[INFO] [stdout] 181 |     #[serde(rename = "get_knob_mode")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:183:11
[INFO] [stdout]     |
[INFO] [stdout] 183 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:187:7
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[serde(rename = "upload_keymap")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 |     #[serde(rename = "list_apps")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/types.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |         properties.insert(param.name.to_string(), serde_json::Value::Object(schema));
[INFO] [stdout]    |                                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:193:7
[INFO] [stdout]     |
[INFO] [stdout] 193 |     #[serde(rename = "read_slots")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 |     #[serde(rename = "send_raw")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `plist` in this scope
[INFO] [stdout]   --> src/apps.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let value = plist::Value::from_file(&plist_path).ok()?;
[INFO] [stdout]    |                 ^^^^^ use of unresolved module or unlinked crate `plist`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `plist`, use `cargo add plist` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:207:7
[INFO] [stdout]     |
[INFO] [stdout] 207 |     #[serde(rename = "bind_sequence")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:210:11
[INFO] [stdout]     |
[INFO] [stdout] 210 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:213:11
[INFO] [stdout]     |
[INFO] [stdout] 213 |         #[serde(default)]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/api/types.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 |     #[serde(rename = "show_keys")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/api/context.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:341:23
[INFO] [stdout]     |
[INFO] [stdout] 341 |             .and_then(serde_json::Value::as_u64)
[INFO] [stdout]     |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/types.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut properties = serde_json::Map::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::iter::Map;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Map`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut properties = serde_json::Map::new();
[INFO] [stdout] 32 +     let mut properties = Map::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `describe::describe_commands`
[INFO] [stdout]   --> src/api/dispatch.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use describe::describe_commands;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/types.rs:51:51
[INFO] [stdout]    |
[INFO] [stdout] 51 |         properties.insert(param.name.to_string(), serde_json::Value::Object(schema));
[INFO] [stdout]    |                                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/dispatch.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let home = PathBuf::from(std::env::var("HOME").context("HOME is not set")?);
[INFO] [stdout]    |                                                    ^^^^^^^ method not found in `std::result::Result<String, VarError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `plist` in this scope
[INFO] [stdout]   --> src/apps.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let value = plist::Value::from_file(&plist_path).ok()?;
[INFO] [stdout]    |                 ^^^^^ use of unresolved module or unlinked crate `plist`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `plist`, use `cargo add plist` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             Ok(serde_json::to_value(&cfg)?)
[INFO] [stdout]     |                ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 serde_yaml_ng::from_str(&yaml).context("Invalid keymap YAML configuration")?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/api/dispatch.rs:340:56
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 let layer_u8 = u8::try_from(layer_idx).context("layer index out of range")?;
[INFO] [stdout]     |                                                        ^^^^^^^ method not found in `std::result::Result<u8, TryFromIntError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]    --> src/api/dispatch.rs:356:24
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 if let Some(ref led_mode) = lcfg.led {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout] note: required by a bound in `Some`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/option.rs:606:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     let mut out = serde_json::to_string(&resp_val)?;
[INFO] [stdout]    |                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let mut out = serde_json::to_string(&err_resp)?;
[INFO] [stdout]    |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let req: Value = match serde_json::from_str(input) {
[INFO] [stdout]    |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/mcp.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             match serde_json::from_value::<Command>(cmd_value) {
[INFO] [stdout]     |                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/mcp.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   let text = serde_json::to_string_pretty(&val).unwrap_or_default();
[INFO] [stdout]     |                                  ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/socket.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let home = std::env::var("HOME").context("HOME not set")?;
[INFO] [stdout]    |                                      ^^^^^^^ method not found in `std::result::Result<String, VarError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/socket.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let listener = UnixListener::bind(&socket_path)
[INFO] [stdout] 67 |             .with_context(|| format!("Failed to bind Unix socket at {}", socket_path.display()))?;
[INFO] [stdout]    |              ^^^^^^^^^^^^ method not found in `std::result::Result<UnixListener, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:107:43
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   let mut msg = serde_json::to_string(&refusal).unwrap_or_default();
[INFO] [stdout]     |                                     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:215:31
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let mut out = serde_json::to_string(&resp).unwrap_or_else(|_| "{}".to_string());
[INFO] [stdout]     |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:229:31
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let mut out = serde_json::to_string(&resp).unwrap_or_default();
[INFO] [stdout]     |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let req: Value = match serde_json::from_str(input) {
[INFO] [stdout]     |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:262:30
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let cmd: Command = match serde_json::from_value(cmd_value) {
[INFO] [stdout]     |                              ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:336:19
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let cmd_val = serde_json::to_value(cmd)?;
[INFO] [stdout]     |                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:347:20
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let mut line = serde_json::to_string(&req)?;
[INFO] [stdout]     |                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:358:23
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let resp: Value = serde_json::from_str(&response_line)?;
[INFO] [stdout]     |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `plist` in this scope
[INFO] [stdout]    --> src/host/login_item.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let value = plist::Value::from_reader_xml(io_cursor(&text)).expect("valid plist xml");
[INFO] [stdout]     |                     ^^^^^ use of unresolved module or unlinked crate `plist`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `plist`, use `cargo add plist` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/config.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let buttons = self
[INFO] [stdout] 188 |             .rows
[INFO] [stdout] 189 |             .checked_mul(self.columns)
[INFO] [stdout] 190 |             .context("layout rows x columns overflows")?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Option<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/config.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let knob_slots = self
[INFO] [stdout] 192 |             .knobs
[INFO] [stdout] 193 |             .checked_mul(crate::firmware::GESTURES_PER_KNOB)
[INFO] [stdout] 194 |             .context("layout knob count overflows")?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Option<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/config.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let content = fs::read_to_string(path.as_ref())
[INFO] [stdout] 214 |             .with_context(|| format!("Failed to read config file at {:?}", path.as_ref()))?;
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `std::result::Result<String, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let config: Self = serde_yaml_ng::from_str(&content)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/led_state.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let n = dev
[INFO] [stdout] 56 |             .read_timeout(&mut buf, LED_READ_TIMEOUT_MS as i32)
[INFO] [stdout] 57 |             .context("Timed out reading LED state from device")?;
[INFO] [stdout]    |              ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/slot_read.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let n = dev
[INFO] [stdout] 45 |         .read_timeout(&mut buf, SLOT_QUERY_TIMEOUT_MS as i32)
[INFO] [stdout] 46 |         .context("Timed out reading slot dump from device")?;
[INFO] [stdout]    |          ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:341:23
[INFO] [stdout]     |
[INFO] [stdout] 341 |             .and_then(serde_json::Value::as_u64)
[INFO] [stdout]     |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/mod.rs:99:43
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let dev = target.open_device(api).context(
[INFO] [stdout]    |                                           ^^^^^^^ method not found in `std::result::Result<HidDevice, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/device/mod.rs:152:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |     dev.write(&buf)
[INFO] [stdout] 152 |         .context("Failed to write HID report to device")?;
[INFO] [stdout]     |          ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/types.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut properties = serde_json::Map::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::iter::Map;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Map`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut properties = serde_json::Map::new();
[INFO] [stdout] 32 +     let mut properties = Map::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]    --> src/host/bind.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     for packet in binding_packets(button_count, layers)? {
[INFO] [stdout]     |         ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `describe::describe_commands`
[INFO] [stdout]   --> src/api/dispatch.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use describe::describe_commands;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:306:45
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let value = migrate_bound_layer_key(serde_json::from_str(text).ok()?);
[INFO] [stdout]     |                                             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match serde_json::from_value::<HostConfig>(value) {
[INFO] [stdout]     |               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         serde_json::to_string_pretty(self).unwrap_or_default()
[INFO] [stdout]     |         ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/dispatch.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let home = PathBuf::from(std::env::var("HOME").context("HOME is not set")?);
[INFO] [stdout]    |                                                    ^^^^^^^ method not found in `std::result::Result<String, VarError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:334:28
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:350:28
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let cmd: Command = serde_json::from_value(serde_json::json!({
[INFO] [stdout]     |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             Ok(serde_json::to_value(&cfg)?)
[INFO] [stdout]     |                ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/api/dispatch.rs:322:17
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 serde_yaml_ng::from_str(&yaml).context("Invalid keymap YAML configuration")?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/api/dispatch.rs:340:56
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 let layer_u8 = u8::try_from(layer_idx).context("layer index out of range")?;
[INFO] [stdout]     |                                                        ^^^^^^^ method not found in `std::result::Result<u8, TryFromIntError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]    --> src/api/dispatch.rs:356:24
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 if let Some(ref led_mode) = lcfg.led {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout] note: required by a bound in `Some`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/option.rs:606:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     let mut out = serde_json::to_string(&resp_val)?;
[INFO] [stdout]    |                                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let mut out = serde_json::to_string(&err_resp)?;
[INFO] [stdout]    |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mcp.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let req: Value = match serde_json::from_str(input) {
[INFO] [stdout]    |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/mcp.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             match serde_json::from_value::<Command>(cmd_value) {
[INFO] [stdout]     |                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/mcp.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   let text = serde_json::to_string_pretty(&val).unwrap_or_default();
[INFO] [stdout]     |                                  ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/socket.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let home = std::env::var("HOME").context("HOME not set")?;
[INFO] [stdout]    |                                      ^^^^^^^ method not found in `std::result::Result<String, VarError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/api/socket.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let listener = UnixListener::bind(&socket_path)
[INFO] [stdout] 67 |             .with_context(|| format!("Failed to bind Unix socket at {}", socket_path.display()))?;
[INFO] [stdout]    |              ^^^^^^^^^^^^ method not found in `std::result::Result<UnixListener, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:107:43
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   let mut msg = serde_json::to_string(&refusal).unwrap_or_default();
[INFO] [stdout]     |                                     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:215:31
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let mut out = serde_json::to_string(&resp).unwrap_or_else(|_| "{}".to_string());
[INFO] [stdout]     |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:229:31
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let mut out = serde_json::to_string(&resp).unwrap_or_default();
[INFO] [stdout]     |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let req: Value = match serde_json::from_str(input) {
[INFO] [stdout]     |                            ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:262:30
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let cmd: Command = match serde_json::from_value(cmd_value) {
[INFO] [stdout]     |                              ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:336:19
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let cmd_val = serde_json::to_value(cmd)?;
[INFO] [stdout]     |                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:347:20
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let mut line = serde_json::to_string(&req)?;
[INFO] [stdout]     |                    ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/socket.rs:358:23
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let resp: Value = serde_json::from_str(&response_line)?;
[INFO] [stdout]     |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/mod.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let val = serde_json::to_value(&cmd).unwrap();
[INFO] [stdout]    |                   ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/config.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let buttons = self
[INFO] [stdout] 188 |             .rows
[INFO] [stdout] 189 |             .checked_mul(self.columns)
[INFO] [stdout] 190 |             .context("layout rows x columns overflows")?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Option<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | ) -> Result<serde_json::Value> {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:94:30
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn vocabulary_reply() -> serde_json::Value {
[INFO] [stdout]    |                              ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | ) -> Result<serde_json::Value> {
[INFO] [stdout]     |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 | ) -> Result<serde_json::Value> {
[INFO] [stdout]     |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let slots: Vec<serde_json::Value> = table
[INFO] [stdout]     |                        ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:253:74
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn set_led(layer: u8, mode: String, color: Option<String>) -> Result<serde_json::Value> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:334:61
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn migrate_bound_layer_key(mut value: serde_json::Value) -> serde_json::Value {
[INFO] [stdout]     |                                                             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:334:39
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn migrate_bound_layer_key(mut value: serde_json::Value) -> serde_json::Value {
[INFO] [stdout]     |                                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/host/login_item.rs:78:66
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn install(home: &Path, executable: &Path, config: &Path) -> anyhow::Result<PathBuf> {
[INFO] [stdout]    |                                                                  ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/host/login_item.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn uninstall(home: &Path) -> anyhow::Result<bool> {
[INFO] [stdout]     |                                  ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `Option<T>` in the current scope
[INFO] [stdout]    --> src/config.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let knob_slots = self
[INFO] [stdout] 192 |             .knobs
[INFO] [stdout] 193 |             .checked_mul(crate::firmware::GESTURES_PER_KNOB)
[INFO] [stdout] 194 |             .context("layout knob count overflows")?;
[INFO] [stdout]     |              ^^^^^^^ method not found in `Option<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/config.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let content = fs::read_to_string(path.as_ref())
[INFO] [stdout] 214 |             .with_context(|| format!("Failed to read config file at {:?}", path.as_ref()))?;
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `std::result::Result<String, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let config: Self = serde_yaml_ng::from_str(&content)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let cfg: DeviceConfig = serde_yaml_ng::from_str(STARTER_CONFIG).expect("starter parses");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `antiknob` (lib) due to 194 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let cfg: DeviceConfig = serde_yaml_ng::from_str(STARTER_CONFIG).expect("starter parses");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let cfg: DeviceConfig = serde_yaml_ng::from_str(STARTER_CONFIG).expect("starter parses");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 |     let cfg: DeviceConfig = serde_yaml_ng::from_str(y).expect("parses");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:256:22
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let b: Binding = serde_yaml_ng::from_str("[\"cmd-c\"]").unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_yaml_ng` in this scope
[INFO] [stdout]    --> src/config_tests.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |     let media: Binding = serde_yaml_ng::from_str("[\"volumeup\", \"next\"]").unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `serde_yaml_ng`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_yaml_ng`, use `cargo add serde_yaml_ng` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/led_state.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let n = dev
[INFO] [stdout] 56 |             .read_timeout(&mut buf, LED_READ_TIMEOUT_MS as i32)
[INFO] [stdout] 57 |             .context("Timed out reading LED state from device")?;
[INFO] [stdout]    |              ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/slot_read.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let n = dev
[INFO] [stdout] 45 |         .read_timeout(&mut buf, SLOT_QUERY_TIMEOUT_MS as i32)
[INFO] [stdout] 46 |         .context("Timed out reading slot dump from device")?;
[INFO] [stdout]    |          ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]   --> src/device/mod.rs:99:43
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let dev = target.open_device(api).context(
[INFO] [stdout]    |                                           ^^^^^^^ method not found in `std::result::Result<HidDevice, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `context` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/device/mod.rs:152:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |     dev.write(&buf)
[INFO] [stdout] 152 |         .context("Failed to write HID report to device")?;
[INFO] [stdout]     |          ^^^^^^^ method not found in `std::result::Result<usize, HidError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]    --> src/host/bind.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     for packet in binding_packets(button_count, layers)? {
[INFO] [stdout]     |         ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:306:45
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let value = migrate_bound_layer_key(serde_json::from_str(text).ok()?);
[INFO] [stdout]     |                                             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match serde_json::from_value::<HostConfig>(value) {
[INFO] [stdout]     |               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         serde_json::to_string_pretty(self).unwrap_or_default()
[INFO] [stdout]     |         ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |             serde_json::from_str(r#"{"type": "hotkeySwitch", "first": null}"#).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:475:29
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let a: HostAction = serde_json::from_value(v).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:477:31
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let seq: HostAction = serde_json::from_str(r#"{"type": "sequence", "steps": []}"#).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | ) -> Result<serde_json::Value> {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]   --> src/api/device_cmds.rs:94:30
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn vocabulary_reply() -> serde_json::Value {
[INFO] [stdout]    |                              ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | ) -> Result<serde_json::Value> {
[INFO] [stdout]     |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 | ) -> Result<serde_json::Value> {
[INFO] [stdout]     |             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let slots: Vec<serde_json::Value> = table
[INFO] [stdout]     |                        ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/api/device_cmds.rs:253:74
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn set_led(layer: u8, mode: String, color: Option<String>) -> Result<serde_json::Value> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:334:39
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn migrate_bound_layer_key(mut value: serde_json::Value) -> serde_json::Value {
[INFO] [stdout]     |                                       ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]   --> src/host/login_item.rs:78:66
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn install(home: &Path, executable: &Path, config: &Path) -> anyhow::Result<PathBuf> {
[INFO] [stdout]    |                                                                  ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `anyhow` in this scope
[INFO] [stdout]    --> src/host/login_item.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn uninstall(home: &Path) -> anyhow::Result<bool> {
[INFO] [stdout]     |                                  ^^^^^^ use of unresolved module or unlinked crate `anyhow`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `anyhow`, use `cargo add anyhow` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:472:16
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let v: serde_json::Value =
[INFO] [stdout]     |                ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/host/mod.rs:334:61
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn migrate_bound_layer_key(mut value: serde_json::Value) -> serde_json::Value {
[INFO] [stdout]     |                                                             ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `antiknob` (lib test) due to 214 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1", kill_on_drop: false }`
[INFO] [stdout] 6eab99ef5efc9e5806f6aa01d6f8b8eb2d2c1000bb951dd5ba265b5a86ca7af1
