[INFO] cloning repository https://github.com/treeman/layout_gen
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/treeman/layout_gen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftreeman%2Flayout_gen", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftreeman%2Flayout_gen'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 24fe775c7fdcd76accd93500305db8bc4296d3a0
[INFO] checking treeman/layout_gen/24fe775c7fdcd76accd93500305db8bc4296d3a0 against master#b3f8586fb1e4859678d6b231e780ff81801d2282 for pr-147589
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftreeman%2Flayout_gen" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/treeman/layout_gen
[INFO] finished tweaking git repo https://github.com/treeman/layout_gen
[INFO] tweaked toml for git repo https://github.com/treeman/layout_gen written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/treeman/layout_gen on toolchain b3f8586fb1e4859678d6b231e780ff81801d2282
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/treeman/layout_gen 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" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded array2d v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 25970b1d9679226da42aa19731b207b7f75b70eada9014d33add8e4009a6815a
[INFO] running `Command { std: "docker" "start" "-a" "25970b1d9679226da42aa19731b207b7f75b70eada9014d33add8e4009a6815a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "25970b1d9679226da42aa19731b207b7f75b70eada9014d33add8e4009a6815a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25970b1d9679226da42aa19731b207b7f75b70eada9014d33add8e4009a6815a", kill_on_drop: false }`
[INFO] [stdout] 25970b1d9679226da42aa19731b207b7f75b70eada9014d33add8e4009a6815a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b3f8586fb1e4859678d6b231e780ff81801d2282" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51c0bc5cf986d7d17c5df8e8e895cc16b832e1ee389487c72167a35cb21a7ba9
[INFO] running `Command { std: "docker" "start" "-a" "51c0bc5cf986d7d17c5df8e8e895cc16b832e1ee389487c72167a35cb21a7ba9", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]     Checking clap_lex v0.7.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]     Checking array2d v0.3.2
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking html-escape v0.2.13
[INFO] [stderr]     Checking clap_builder v4.5.21
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking palette v0.7.6
[INFO] [stderr]     Checking clap v4.5.21
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking layout_gen v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::parse::Finger`
[INFO] [stdout]  --> src/keylog/stats.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::Finger;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parse::Finger`
[INFO] [stdout]  --> src/parse/keymap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parse::Finger;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicalPos`
[INFO] [stdout]  --> src/parse/mod.rs:9:61
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use render_opts::{Finger, FingerAssignment, MatrixHalf, PhysicalPos, RenderOpts};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::Keymap`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parse::Keymap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parse::Finger`
[INFO] [stdout]  --> src/keylog/stats.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::Finger;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::Keymap`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parse::Keymap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PhysicalLayoutSpec` is more private than the item `PhysicalLayout::new`
[INFO] [stdout]    --> src/parse/render_opts.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     pub fn new(effort_layout: PhysicalLayoutSpec, finger_layout: PhysicalLayoutSpec) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `PhysicalLayout::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PhysicalLayoutSpec` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/parse/render_opts.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct PhysicalLayoutSpec(Vec<String>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mods` and `oneshot_mods` are never read
[INFO] [stdout]   --> src/keylog/csv_parser.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RawKeylogEntry {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub mods: String,         // hex
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 16 |     pub oneshot_mods: String, // hex
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawKeylogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_from_str` is never used
[INFO] [stdout]   --> src/keylog/csv_parser.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn parse_from_str(s: &str) -> Result<Vec<RawKeylogEntry>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sfbs_by_id` is never read
[INFO] [stdout]   --> src/keylog/stats.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct KeylogStats {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub sfbs_by_id: HashMap<String, SfbStats>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeylogStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sfb_event_count` is never used
[INFO] [stdout]    --> src/keylog/stats.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl KeylogStats {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn sfb_event_count(&self, include_combos: bool) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_key` is never used
[INFO] [stdout]    --> src/keylog/stats.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Sfb {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn has_key(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keycode`, `highest_layer`, `pressed`, and `tap_count` are never read
[INFO] [stdout]    --> src/keylog/stats.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |     Single {
[INFO] [stdout]     |     ------ fields in this variant
[INFO] [stdout] 377 |         key: &'a Key,
[INFO] [stdout] 378 |         keycode: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 379 |         highest_layer: LayerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 380 |         pressed: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 381 |         // mods, oneshot_mods
[INFO] [stdout] 382 |         tap_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeylogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PhysicalLayoutSpec` is more private than the item `PhysicalLayout::new`
[INFO] [stdout]    --> src/parse/render_opts.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     pub fn new(effort_layout: PhysicalLayoutSpec, finger_layout: PhysicalLayoutSpec) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `PhysicalLayout::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PhysicalLayoutSpec` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/parse/render_opts.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct PhysicalLayoutSpec(Vec<String>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mods` and `oneshot_mods` are never read
[INFO] [stdout]   --> src/keylog/csv_parser.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RawKeylogEntry {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub mods: String,         // hex
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 16 |     pub oneshot_mods: String, // hex
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawKeylogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sfbs_by_id` is never read
[INFO] [stdout]   --> src/keylog/stats.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct KeylogStats {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub sfbs_by_id: HashMap<String, SfbStats>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeylogStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_key` is never used
[INFO] [stdout]    --> src/keylog/stats.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Sfb {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn has_key(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keycode`, `highest_layer`, `pressed`, and `tap_count` are never read
[INFO] [stdout]    --> src/keylog/stats.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |     Single {
[INFO] [stdout]     |     ------ fields in this variant
[INFO] [stdout] 377 |         key: &'a Key,
[INFO] [stdout] 378 |         keycode: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 379 |         highest_layer: LayerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 380 |         pressed: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 381 |         // mods, oneshot_mods
[INFO] [stdout] 382 |         tap_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeylogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.82s
[INFO] running `Command { std: "docker" "inspect" "51c0bc5cf986d7d17c5df8e8e895cc16b832e1ee389487c72167a35cb21a7ba9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51c0bc5cf986d7d17c5df8e8e895cc16b832e1ee389487c72167a35cb21a7ba9", kill_on_drop: false }`
[INFO] [stdout] 51c0bc5cf986d7d17c5df8e8e895cc16b832e1ee389487c72167a35cb21a7ba9
