[INFO] cloning repository https://github.com/cobalthex/3L14
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cobalthex/3L14" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc4f1e4562538cf782575de966db2d35b898ff6e
[INFO] checking cobalthex/3L14 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cobalthex/3L14
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/cobalthex/3L14
[INFO] tweaked toml for git repo https://github.com/cobalthex/3L14 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cobalthex/3L14 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cobalthex/3L14 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking cobalthex/3L14 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cobalthex/3L14
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/cobalthex/3L14
[INFO] tweaked toml for git repo https://github.com/cobalthex/3L14 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cobalthex/3L14 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cobalthex/3L14 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking cobalthex/3L14 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cobalthex/3L14
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/cobalthex/3L14
[INFO] tweaked toml for git repo https://github.com/cobalthex/3L14 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cobalthex/3L14 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cobalthex/3L14 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking cobalthex/3L14 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cobalthex/3L14
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/cobalthex/3L14
[INFO] tweaked toml for git repo https://github.com/cobalthex/3L14 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cobalthex/3L14 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cobalthex/3L14 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking cobalthex/3L14 against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcobalthex%2F3L14" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cobalthex/3L14
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/cobalthex/3L14
[INFO] tweaked toml for git repo https://github.com/cobalthex/3L14 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cobalthex/3L14 on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cobalthex/3L14 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitcode v0.6.6
[INFO] [stderr]   Downloaded bitcode_derive v0.6.5
[INFO] [stderr]   Downloaded is-root v0.1.3
[INFO] [stderr]   Downloaded metrohash v1.0.7
[INFO] [stderr]   Downloaded hassle-rs v0.12.0
[INFO] [stderr]   Downloaded puffin_http v0.16.1
[INFO] [stderr]   Downloaded glam v0.30.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f7a8e4dd05973af977659c2c097adfaa4eb88f923b9c3f2adcd1111b2148f74
[INFO] running `Command { std: "docker" "start" "-a" "4f7a8e4dd05973af977659c2c097adfaa4eb88f923b9c3f2adcd1111b2148f74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f7a8e4dd05973af977659c2c097adfaa4eb88f923b9c3f2adcd1111b2148f74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f7a8e4dd05973af977659c2c097adfaa4eb88f923b9c3f2adcd1111b2148f74", kill_on_drop: false }`
[INFO] [stdout] 4f7a8e4dd05973af977659c2c097adfaa4eb88f923b9c3f2adcd1111b2148f74
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f21d216538e7c6d3e3677c2549cece9e6778d79c21b0cf416f4d92c261fe577a
[INFO] running `Command { std: "docker" "start" "-a" "f21d216538e7c6d3e3677c2549cece9e6778d79c21b0cf416f4d92c261fe577a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking metrohash v1.0.7
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking users v0.11.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking is-root v0.1.3
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking lz4_flex v0.11.3
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]     Checking winnow v0.7.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking natord v1.0.9
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking vec1 v1.12.1
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]    Compiling zerocopy v0.8.14
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]    Compiling sdl2-sys v0.37.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking colog v1.3.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling wgpu-hal v24.0.0
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling wgpu-core v24.0.0
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking notify-types v2.0.0
[INFO] [stderr]    Compiling sdl2 v0.37.0
[INFO] [stderr]    Compiling wgpu v24.0.3
[INFO] [stderr]     Checking file-id v0.2.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]     Checking unicase v2.8.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking type-map v0.5.0
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]    Compiling serde_json v1.0.122
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling bitcode_derive v0.6.5
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]    Compiling proc_macros_3l14 v0.1.0 (/opt/rustwide/workdir/src/macros)
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stdout] warning: unused variable: `members`
[INFO] [stdout]    --> src/macros/attribs/asset.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |         Fields::Unnamed(members) =>
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_derive` is never used
[INFO] [stdout]  --> src/macros/has_derive.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn has_derive(which_derive: &str, attrs: &Vec<Attribute>) -> bool
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling com_macros_support v0.6.0
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking zune-jpeg v0.4.14
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling com_macros v0.6.0
[INFO] [stderr]    Compiling winres v0.1.12
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking com v0.6.0
[INFO] [stderr]    Compiling game_3l14 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stdout] warning: unused variable: `codegen_root`
[INFO] [stdout]  --> src/build/crates_codegen.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn crates_codegen(codegen_root: &Path)
[INFO] [stdout]   |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen_root`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking widestring v1.1.0
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr] warning: game_3l14@0.1.0: Failed to find assets build dir: No such file or directory (os error 2)
[INFO] [stderr] warning: game_3l14@0.1.0: Failed to copy SDL: No such file or directory (os error 2)
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking glam v0.30.4
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking puffin v0.19.1 (https://github.com/tedsteen/puffin?branch=upgrade-egui#993b78a0)
[INFO] [stderr]     Checking petgraph v0.7.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking notify v8.0.0
[INFO] [stderr]     Checking notify-debouncer-full v0.5.0
[INFO] [stderr]     Checking puffin v0.19.1
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking puffin_http v0.16.1
[INFO] [stderr]     Checking hassle-rs v0.12.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stdout] warning: unused variable: `members`
[INFO] [stdout]    --> src/macros/attribs/asset.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |         Fields::Unnamed(members) =>
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_derive` is never used
[INFO] [stdout]  --> src/macros/has_derive.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn has_derive(which_derive: &str, attrs: &Vec<Attribute>) -> bool
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `members`
[INFO] [stdout]    --> src/macros/attribs/asset.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |         Fields::Unnamed(members) =>
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_derive` is never used
[INFO] [stdout]  --> src/macros/has_derive.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn has_derive(which_derive: &str, attrs: &Vec<Attribute>) -> bool
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking bitcode v0.6.6
[INFO] [stderr]     Checking egui_extras v0.31.1
[INFO] [stderr]     Checking puffin_egui v0.29.0 (https://github.com/tedsteen/puffin?branch=upgrade-egui#993b78a0)
[INFO] [stderr]     Checking nab_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/nab_3l14)
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LazyLock`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{LazyLock, OnceLock};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/engine/nab_3l14/timing/stopwatch.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TIME_NANOS` should have an upper camel case name
[INFO] [stdout]  --> src/engine/nab_3l14/timing/stopwatch.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type TIME_NANOS = u64; // nanoseconds
[INFO] [stdout]   |          ^^^^^^^^^^ help: convert the identifier to upper camel case: `TimeNanos`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/engine/nab_3l14/timing/stopwatch.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |             self.elapsed += (now - self.start);
[INFO] [stdout]    |                             ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -             self.elapsed += (now - self.start);
[INFO] [stdout] 68 +             self.elapsed += now - self.start;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a provided trait method
[INFO] [stdout]    --> src/engine/nab_3l14/utils/mod.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     #[inline] #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a provided trait method
[INFO] [stdout]    --> src/engine/nab_3l14/utils/mod.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     #[inline] #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LazyLock`
[INFO] [stdout]  --> src/engine/nab_3l14/app.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{LazyLock, OnceLock};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/engine/nab_3l14/timing/stopwatch.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TIME_NANOS` should have an upper camel case name
[INFO] [stdout]  --> src/engine/nab_3l14/timing/stopwatch.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type TIME_NANOS = u64; // nanoseconds
[INFO] [stdout]   |          ^^^^^^^^^^ help: convert the identifier to upper camel case: `TimeNanos`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/engine/nab_3l14/timing/stopwatch.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |             self.elapsed += (now - self.start);
[INFO] [stdout]    |                             ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -             self.elapsed += (now - self.start);
[INFO] [stdout] 68 +             self.elapsed += now - self.start;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a provided trait method
[INFO] [stdout]    --> src/engine/nab_3l14/utils/mod.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     #[inline] #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a provided trait method
[INFO] [stdout]    --> src/engine/nab_3l14/utils/mod.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     #[inline] #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wait_for_exit`
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:225:23
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn set_panic_hook(wait_for_exit: bool)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wait_for_exit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wait_for_exit`
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:225:23
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn set_panic_hook(wait_for_exit: bool)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wait_for_exit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |             f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let _ = f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let _ = f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |             f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let _ = f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/nab_3l14/app.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let _ = f.write_fmt(format_args!("{payload_str}\n"));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking math_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/math_3l14)
[INFO] [stderr]     Checking debug_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/debug_3l14)
[INFO] [stdout] warning: unused import: `Sphere`
[INFO] [stdout]  --> src/engine/math_3l14/aabb.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{Intersection, Intersects, Sphere};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assert_abs_diff_eq` and `assert_relative_eq`
[INFO] [stdout]  --> src/engine/math_3l14/dual_quat.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use approx::{assert_abs_diff_eq, assert_relative_eq, AbsDiffEq, RelativeEq};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lerp::*`
[INFO] [stdout]   --> src/engine/math_3l14/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use lerp::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::RelativeEq`
[INFO] [stdout]  --> src/engine/math_3l14/ray.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use approx::RelativeEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sphere`
[INFO] [stdout]  --> src/engine/math_3l14/aabb.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{Intersection, Intersects, Sphere};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assert_abs_diff_eq` and `assert_relative_eq`
[INFO] [stdout]  --> src/engine/math_3l14/dual_quat.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use approx::{assert_abs_diff_eq, assert_relative_eq, AbsDiffEq, RelativeEq};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assert_abs_diff_eq`
[INFO] [stdout]    --> src/engine/math_3l14/dual_quat.rs:346:18
[INFO] [stdout]     |
[INFO] [stdout] 346 |     use approx::{assert_abs_diff_eq, assert_relative_eq, assert_relative_ne};
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lerp::*`
[INFO] [stdout]   --> src/engine/math_3l14/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use lerp::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::RelativeEq`
[INFO] [stdout]  --> src/engine/math_3l14/ray.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use approx::RelativeEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking input_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/input_3l14)
[INFO] [stderr]     Checking asset_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/asset_3l14)
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/engine/math_3l14/aabb.rs:87:32
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_intersection(&self, other: AABB) -> Intersection
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decode`
[INFO] [stdout]  --> src/engine/asset_3l14/asset.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitcode::{Decode, DecodeOwned, Encode};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unicase::UniCase`
[INFO] [stdout]  --> src/engine/asset_3l14/asset.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use unicase::UniCase;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decode`
[INFO] [stdout]  --> src/engine/asset_3l14/asset_lifecycler.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitcode::{Decode, DecodeOwned};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/engine/asset_3l14/asset_lifecycler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Id`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use egui::{Id, Ui};
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/engine/asset_3l14/assets_storage.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU16` and `Ordering`
[INFO] [stdout]   --> src/engine/asset_3l14/assets_storage.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::atomic::{AtomicU16, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nab_3l14::utils::NoOpDebug`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nab_3l14::utils::NoOpDebug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ButtonState`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{ButtonState, InputReader};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/engine/input_3l14/mouse.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nab_3l14::utils::NoOpDebug`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nab_3l14::utils::NoOpDebug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ButtonState`
[INFO] [stdout]  --> src/engine/input_3l14/controller.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{ButtonState, InputReader};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> src/engine/input_3l14/mouse.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decode`
[INFO] [stdout]  --> src/engine/asset_3l14/asset.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bitcode::{Decode, DecodeOwned, Encode};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unicase::UniCase`
[INFO] [stdout]  --> src/engine/asset_3l14/asset.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use unicase::UniCase;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decode`
[INFO] [stdout]  --> src/engine/asset_3l14/asset_lifecycler.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bitcode::{Decode, DecodeOwned};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/engine/asset_3l14/asset_lifecycler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Id`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use egui::{Id, Ui};
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/engine/asset_3l14/assets_storage.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU16` and `Ordering`
[INFO] [stdout]   --> src/engine/asset_3l14/assets_storage.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::atomic::{AtomicU16, Ordering};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/math_3l14/morton.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     const fn spread_bits(mut v: u32) -> u64
[INFO] [stdout]    |                          ----^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]  --> src/engine/math_3l14/lerp.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn lerp(from: f32, to: f32, rel: f32) -> f32
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_lerp` is never used
[INFO] [stdout]  --> src/engine/math_3l14/lerp.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn inv_lerp(from: f32, to: f32, value: f32) -> f32
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remap` is never used
[INFO] [stdout]   --> src/engine/math_3l14/lerp.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn remap(orig_from: f32, orig_to: f32, target_from: f32, target_to: f32, value: f32) -> f32
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking containers_3l14 v0.0.0 (/opt/rustwide/workdir/src/engine/containers_3l14)
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/engine/math_3l14/aabb.rs:87:32
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_intersection(&self, other: AABB) -> Intersection
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `which`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:43
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                           ^^^^^-
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: try removing the field
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `axis`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:50
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                                  ^^^^-
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:56
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                                        ^^^^^-
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `which`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:43
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                           ^^^^^-
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: try removing the field
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `axis`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:50
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                                  ^^^^-
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/engine/input_3l14/input.rs:161:56
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Event::ControllerAxisMotion { which, axis, value, .. } =>
[INFO] [stdout]     |                                                        ^^^^^-
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `connected`, `buttons`, `l_thumb`, `r_thumb`, `l_trigger`, and `r_trigger` are never read
[INFO] [stdout]   --> src/engine/input_3l14/controller.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct ControllerState
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 8  | {
[INFO] [stdout] 9  |     connected: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     buttons: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     l_thumb: Vec2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     r_thumb: Vec2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     l_trigger: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 16 |     r_trigger: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ControllerState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_input` is never read
[INFO] [stdout]   --> src/engine/input_3l14/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Input
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 | {
[INFO] [stdout] 28 |     last_input: LastInput,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Input` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/engine/input_3l14/keyboard.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter_pressed_keys(&self) -> Iter<KeyState>
[INFO] [stdout]     |                              ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter_pressed_keys(&self) -> Iter<'_, KeyState>
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `connected`, `buttons`, `l_thumb`, `r_thumb`, `l_trigger`, and `r_trigger` are never read
[INFO] [stdout]   --> src/engine/input_3l14/controller.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct ControllerState
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 8  | {
[INFO] [stdout] 9  |     connected: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     buttons: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     l_thumb: Vec2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     r_thumb: Vec2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     l_trigger: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 16 |     r_trigger: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ControllerState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_input` is never read
[INFO] [stdout]   --> src/engine/input_3l14/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Input
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 | {
[INFO] [stdout] 28 |     last_input: LastInput,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Input` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/engine/input_3l14/keyboard.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter_pressed_keys(&self) -> Iter<KeyState>
[INFO] [stdout]     |                              ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter_pressed_keys(&self) -> Iter<'_, KeyState>
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/engine/containers_3l14/aabb_tree.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Formatter, Write};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q48`
[INFO] [stdout]    --> src/engine/math_3l14/nquat48.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let q48 =  NQuat48::from(q);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_q48`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q48`
[INFO] [stdout]    --> src/engine/math_3l14/nquat48.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let q48 =  NQuat48::from(q);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_q48`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/math_3l14/morton.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     const fn spread_bits(mut v: u32) -> u64
[INFO] [stdout]    |                          ----^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let mut node_mut = node_index.hydrate_mut(self);
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut gparent = gparent_index.hydrate_mut(self);
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:239:29
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn free_node(&mut self, node: NodeIndex)
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]  --> src/engine/math_3l14/lerp.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn lerp(from: f32, to: f32, rel: f32) -> f32
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_lerp` is never used
[INFO] [stdout]  --> src/engine/math_3l14/lerp.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn inv_lerp(from: f32, to: f32, value: f32) -> f32
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remap` is never used
[INFO] [stdout]   --> src/engine/math_3l14/lerp.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn remap(orig_from: f32, orig_to: f32, target_from: f32, target_to: f32, value: f32) -> f32
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AabbTreeIterOverlapping<'_, T>` is more private than the item `AabbTree::<T>::iter_overlapping`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<T>
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AabbTree::<T>::iter_overlapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AabbTreeIterOverlapping<'_, T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:408:1
[INFO] [stdout]     |
[INFO] [stdout] 408 | struct AabbTreeIterOverlapping<'t, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:351:8
[INFO] [stdout]     |
[INFO] [stdout] 48  | impl<T> AabbTree<T>
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn rotate(&mut self)
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/engine/containers_3l14/object_pool.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn take(&self, create_entry_fn: impl Fn(usize) -> T) -> ObjectPoolEntryGuard<T>
[INFO] [stdout]    |                 ^^^^^ this lifetime flows to the output         ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn take(&self, create_entry_fn: impl Fn(usize) -> T) -> ObjectPoolEntryGuard<'_, T>
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<T>
[INFO] [stdout]     |                             ^^^^^                 -------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<'_, T>
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 f.write_str(" (Leaf) value: ");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let _ = f.write_str(" (Leaf) value: ");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 434 |         Ok(fs_watcher)
[INFO] [stdout]     |         -- ^^^^^^^^^^ expected `Debouncer<INotifyWatcher, FileIdMap>`, found `Debouncer<INotifyWatcher, NoCache>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Debouncer<_, FileIdMap>`
[INFO] [stdout]                found struct `Debouncer<_, NoCache>`
[INFO] [stdout] help: the type constructed contains `Debouncer<INotifyWatcher, NoCache>` due to the type of the argument passed
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         Ok(fs_watcher)
[INFO] [stdout]     |         ^^^----------^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/2b39fe756f52bc2825bf5b2bfc385cab922dae10/library/core/src/result.rs:552:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Any`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Watcher`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | use notify::{EventKind, RecommendedWatcher, RecursiveMode, Watcher};
[INFO] [stdout]   |                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/engine/containers_3l14/aabb_tree.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Formatter, Write};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let mut node_mut = node_index.hydrate_mut(self);
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut gparent = gparent_index.hydrate_mut(self);
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:239:29
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn free_node(&mut self, node: NodeIndex)
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AabbTreeIterOverlapping<'_, T>` is more private than the item `aabb_tree::AabbTree::<T>::iter_overlapping`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<T>
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `aabb_tree::AabbTree::<T>::iter_overlapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AabbTreeIterOverlapping<'_, T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:408:1
[INFO] [stdout]     |
[INFO] [stdout] 408 | struct AabbTreeIterOverlapping<'t, T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:351:8
[INFO] [stdout]     |
[INFO] [stdout] 48  | impl<T> AabbTree<T>
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn rotate(&mut self)
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/engine/containers_3l14/object_pool.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn take(&self, create_entry_fn: impl Fn(usize) -> T) -> ObjectPoolEntryGuard<T>
[INFO] [stdout]    |                 ^^^^^ this lifetime flows to the output         ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn take(&self, create_entry_fn: impl Fn(usize) -> T) -> ObjectPoolEntryGuard<'_, T>
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<T>
[INFO] [stdout]     |                             ^^^^^                 -------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn iter_overlapping(&self, aabb: AABB) -> AabbTreeIterOverlapping<'_, T>
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine/containers_3l14/aabb_tree.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 f.write_str(" (Leaf) value: ");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let _ = f.write_str(" (Leaf) value: ");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 434 |         Ok(fs_watcher)
[INFO] [stdout]     |         -- ^^^^^^^^^^ expected `Debouncer<INotifyWatcher, FileIdMap>`, found `Debouncer<INotifyWatcher, NoCache>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Debouncer<_, FileIdMap>`
[INFO] [stdout]                found struct `Debouncer<_, NoCache>`
[INFO] [stdout] help: the type constructed contains `Debouncer<INotifyWatcher, NoCache>` due to the type of the argument passed
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         Ok(fs_watcher)
[INFO] [stdout]     |         ^^^----------^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/2b39fe756f52bc2825bf5b2bfc385cab922dae10/library/core/src/result.rs:552:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load_untyped` exists for reference `&asset_lifecycler::RegisteredAssetLifecycler`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |         lifecycler.load_untyped(
[INFO] [stdout]     |         -----------^^^^^^^^^^^^ method cannot be called on `&asset_lifecycler::RegisteredAssetLifecycler` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/engine/asset_3l14/asset_lifecycler.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(super) struct RegisteredAssetLifecycler
[INFO] [stdout]     | ------------------------------------------- doesn't satisfy `<_ as AssetLifecycler>::Asset = _`, `_: AssetLifecycler`, `_: DebugGui` or `_: UntypedAssetLifecycler`
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&asset_lifecycler::RegisteredAssetLifecycler: asset_lifecycler::AssetLifecycler`
[INFO] [stdout]       `&asset_lifecycler::RegisteredAssetLifecycler: debug_3l14::debug_gui::DebugGui`
[INFO] [stdout]       `<&asset_lifecycler::RegisteredAssetLifecycler as asset_lifecycler::AssetLifecycler>::Asset = _`
[INFO] [stdout]       `<asset_lifecycler::RegisteredAssetLifecycler as asset_lifecycler::AssetLifecycler>::Asset = _`
[INFO] [stdout]       `asset_lifecycler::RegisteredAssetLifecycler: asset_lifecycler::AssetLifecycler`
[INFO] [stdout]       `asset_lifecycler::RegisteredAssetLifecycler: debug_3l14::debug_gui::DebugGui`
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<A: Asset, L: AssetLifecycler<Asset=A> + DebugGui> UntypedAssetLifecycler for L
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^  ----------------------     -
[INFO] [stdout]     |                   |               |          |
[INFO] [stdout]     |                   |               |          unsatisfied trait bound introduced here
[INFO] [stdout]     |                   |               unsatisfied trait bound introduced here
[INFO] [stdout]     |                   unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `asset_lifecycler::AssetLifecycler` and `debug_3l14::debug_gui::DebugGui` must be implemented
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout] 82  | pub trait AssetLifecycler: Sync + Send + DebugGui
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/engine/debug_3l14/debug_gui.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub trait DebugGui // TODO: get rid of lifetime param
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `asset_lifecycler::UntypedAssetLifecycler` defines an item `load_untyped`, perhaps you need to implement it
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub(super) trait UntypedAssetLifecycler: Sync + Send + DebugGui
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `asset_3l14` (lib) due to 1 previous error; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `asset_lifecycler::RegisteredAssetLifecycler: asset_lifecycler::UntypedAssetLifecycler` is not satisfied
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:732:31
[INFO] [stdout]     |
[INFO] [stdout] 732 |         let tal = unsafe { &*(lifecycler as *const dyn UntypedAssetLifecycler as *const L) };
[INFO] [stdout]     |                               ^^^^^^^^^^ the trait `TrivialAssetLifecycler` is not implemented for `asset_lifecycler::RegisteredAssetLifecycler`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | pub trait TrivialAssetLifecycler: Sync + Send + DebugGui { type Asset: Asset + DecodeOwned; }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required for `asset_lifecycler::RegisteredAssetLifecycler` to implement `asset_lifecycler::AssetLifecycler`
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:93:33
[INFO] [stdout]     |
[INFO] [stdout] 93  | impl<L: TrivialAssetLifecycler> AssetLifecycler for L
[INFO] [stdout]     |         ----------------------  ^^^^^^^^^^^^^^^     ^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `asset_lifecycler::RegisteredAssetLifecycler` to implement `asset_lifecycler::UntypedAssetLifecycler`
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:117:56
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<A: Asset, L: AssetLifecycler<Asset=A> + DebugGui> UntypedAssetLifecycler for L
[INFO] [stdout]     |                                   -------              ^^^^^^^^^^^^^^^^^^^^^^     ^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   unsatisfied trait bound introduced here
[INFO] [stdout]     = note: required for the cast from `&asset_lifecycler::RegisteredAssetLifecycler` to `*const dyn asset_lifecycler::UntypedAssetLifecycler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `asset_lifecycler::RegisteredAssetLifecycler: asset_lifecycler::UntypedAssetLifecycler` is not satisfied
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:743:31
[INFO] [stdout]     |
[INFO] [stdout] 743 |         let tal = unsafe { &*(lifecycler as *const dyn UntypedAssetLifecycler as *const L) };
[INFO] [stdout]     |                               ^^^^^^^^^^ the trait `TrivialAssetLifecycler` is not implemented for `asset_lifecycler::RegisteredAssetLifecycler`
[INFO] [stdout]     |
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | pub trait TrivialAssetLifecycler: Sync + Send + DebugGui { type Asset: Asset + DecodeOwned; }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required for `asset_lifecycler::RegisteredAssetLifecycler` to implement `asset_lifecycler::AssetLifecycler`
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:93:33
[INFO] [stdout]     |
[INFO] [stdout] 93  | impl<L: TrivialAssetLifecycler> AssetLifecycler for L
[INFO] [stdout]     |         ----------------------  ^^^^^^^^^^^^^^^     ^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `asset_lifecycler::RegisteredAssetLifecycler` to implement `asset_lifecycler::UntypedAssetLifecycler`
[INFO] [stdout]    --> src/engine/asset_3l14/asset_lifecycler.rs:117:56
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<A: Asset, L: AssetLifecycler<Asset=A> + DebugGui> UntypedAssetLifecycler for L
[INFO] [stdout]     |                                   -------              ^^^^^^^^^^^^^^^^^^^^^^     ^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   unsatisfied trait bound introduced here
[INFO] [stdout]     = note: required for the cast from `&asset_lifecycler::RegisteredAssetLifecycler` to `*const dyn asset_lifecycler::UntypedAssetLifecycler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Watcher`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | use notify::{EventKind, RecommendedWatcher, RecursiveMode, Watcher};
[INFO] [stdout]   |                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Any`
[INFO] [stdout]  --> src/engine/asset_3l14/assets_storage.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:686:29
[INFO] [stdout]     |
[INFO] [stdout] 686 |         fn debug_gui(&self, ui: &mut Ui) { }
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/engine/asset_3l14/assets_storage.rs:726:29
[INFO] [stdout]     |
[INFO] [stdout] 726 |         fn debug_gui(&self, ui: &mut Ui) { }
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `asset_3l14` (lib test) due to 4 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f21d216538e7c6d3e3677c2549cece9e6778d79c21b0cf416f4d92c261fe577a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f21d216538e7c6d3e3677c2549cece9e6778d79c21b0cf416f4d92c261fe577a", kill_on_drop: false }`
[INFO] [stdout] f21d216538e7c6d3e3677c2549cece9e6778d79c21b0cf416f4d92c261fe577a
