[INFO] cloning repository https://github.com/biyuhao/hidkeymap
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/biyuhao/hidkeymap" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbiyuhao%2Fhidkeymap", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbiyuhao%2Fhidkeymap'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17f0e7355ac4b7a416607d066dd500011c3ba772
[INFO] checking biyuhao/hidkeymap against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbiyuhao%2Fhidkeymap" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/biyuhao/hidkeymap
[INFO] finished tweaking git repo https://github.com/biyuhao/hidkeymap
[INFO] tweaked toml for git repo https://github.com/biyuhao/hidkeymap written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/biyuhao/hidkeymap 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/biyuhao/hidkeymap 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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] e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940
[INFO] running `Command { std: "docker" "start" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940", 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" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940", 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" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking smallvec v1.16.1
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling portable-atomic v1.15.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling zerocopy v0.8.57
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking bitvec v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking thin-vec v0.2.19
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking evdev v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling rhai_codegen v3.2.0
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking rhai v1.26.1
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tiny_http v0.11.0
[INFO] [stderr]     Checking hidkeymap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/devices.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut has_keys = false;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `flush` as mutable, as it is not declared as mutable
[INFO] [stdout]    --> src/devices.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |         ^^^^^ not mutable
[INFO] [stdout] ...
[INFO] [stdout] 122 |         vid = None;
[INFO] [stdout]     |         --- calling `flush` requires mutable binding due to mutable borrow of `vid`
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- cannot borrow as mutable
[INFO] [stdout] ...
[INFO] [stdout] 141 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- cannot borrow as mutable
[INFO] [stdout] ...
[INFO] [stdout] 144 |     flush(&mut name, &mut devs);
[INFO] [stdout]     |     ----- cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `bus` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:134:47
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `bus` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         bus.clear();
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                     (Some("Bus"), Some(v)) => bus = v.to_string(),
[INFO] [stdout]     |                                               ^^^ `bus` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `vid` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `vid` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 122 |         vid = None;
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |                     (Some("Vendor"), Some(v)) => vid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `vid` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `pid` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `pid` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 123 |         pid = None;
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 136 |                     (Some("Product"), Some(v)) => pid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `pid` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bus` is never read
[INFO] [stdout]    --> src/devices.rs:134:47
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     (Some("Bus"), Some(v)) => bus = v.to_string(),
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vid` is never read
[INFO] [stdout]    --> src/devices.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     (Some("Vendor"), Some(v)) => vid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pid` is never read
[INFO] [stdout]    --> src/devices.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     (Some("Product"), Some(v)) => pid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0506, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0506`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hidkeymap` (bin "hidkeymap") due to 4 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/devices.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut has_keys = false;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `flush` as mutable, as it is not declared as mutable
[INFO] [stdout]    --> src/devices.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |         ^^^^^ not mutable
[INFO] [stdout] ...
[INFO] [stdout] 122 |         vid = None;
[INFO] [stdout]     |         --- calling `flush` requires mutable binding due to mutable borrow of `vid`
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- cannot borrow as mutable
[INFO] [stdout] ...
[INFO] [stdout] 141 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- cannot borrow as mutable
[INFO] [stdout] ...
[INFO] [stdout] 144 |     flush(&mut name, &mut devs);
[INFO] [stdout]     |     ----- cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `bus` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:134:47
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `bus` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         bus.clear();
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                     (Some("Bus"), Some(v)) => bus = v.to_string(),
[INFO] [stdout]     |                                               ^^^ `bus` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `vid` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `vid` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 122 |         vid = None;
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |                     (Some("Vendor"), Some(v)) => vid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `vid` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `pid` because it is borrowed
[INFO] [stdout]    --> src/devices.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let flush = |name: &mut Option<String>, devs: &mut Vec<DeviceInfo>| {
[INFO] [stdout]     |                 ------------------------------------------------------- `pid` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 123 |         pid = None;
[INFO] [stdout]     |         --- borrow occurs due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 128 |             flush(&mut name, &mut devs);
[INFO] [stdout]     |             ----- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 136 |                     (Some("Product"), Some(v)) => pid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `pid` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bus` is never read
[INFO] [stdout]    --> src/devices.rs:134:47
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     (Some("Bus"), Some(v)) => bus = v.to_string(),
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vid` is never read
[INFO] [stdout]    --> src/devices.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     (Some("Vendor"), Some(v)) => vid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pid` is never read
[INFO] [stdout]    --> src/devices.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     (Some("Product"), Some(v)) => pid = i32::from_str_radix(v, 16).ok(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0506, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0506`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hidkeymap` (bin "hidkeymap" test) due to 4 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940", kill_on_drop: false }`
[INFO] [stdout] e11b8c57e429d7357740aced897904889c884560493d56dd94861bb3e4c4f940
