[INFO] cloning repository https://github.com/djmill0326/iBootloader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/djmill0326/iBootloader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2FiBootloader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2FiBootloader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43412e77b14ca8a8788be66a7fd6be5704bde6b5
[INFO] checking djmill0326/iBootloader against try#863511eff87e66198b396935f3b5c8a543022f53 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2FiBootloader" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/djmill0326/iBootloader
[INFO] finished tweaking git repo https://github.com/djmill0326/iBootloader
[INFO] tweaked toml for git repo https://github.com/djmill0326/iBootloader written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/djmill0326/iBootloader on toolchain 863511eff87e66198b396935f3b5c8a543022f53
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/djmill0326/iBootloader 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" "+863511eff87e66198b396935f3b5c8a543022f53" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53e252a5acd5fcf51c99b5d40fda37cadf5e01bb44e16e7c70c969d52f857f1d
[INFO] running `Command { std: "docker" "start" "-a" "53e252a5acd5fcf51c99b5d40fda37cadf5e01bb44e16e7c70c969d52f857f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53e252a5acd5fcf51c99b5d40fda37cadf5e01bb44e16e7c70c969d52f857f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53e252a5acd5fcf51c99b5d40fda37cadf5e01bb44e16e7c70c969d52f857f1d", kill_on_drop: false }`
[INFO] [stdout] 53e252a5acd5fcf51c99b5d40fda37cadf5e01bb44e16e7c70c969d52f857f1d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29a0cdd46721802bc6f5d3b35e132ac0b8ff2750f990eddff0ee3c93111610ec
[INFO] running `Command { std: "docker" "start" "-a" "29a0cdd46721802bc6f5d3b35e132ac0b8ff2750f990eddff0ee3c93111610ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.90
[INFO] [stderr]    Compiling bumpalo v3.14.0
[INFO] [stderr]    Compiling wasm-bindgen v0.2.90
[INFO] [stderr]     Checking iBootloader v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `map`
[INFO] [stdout]    --> haptloader/bootloader.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |     macro_rules! map {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `map`
[INFO] [stdout]    --> haptloader/bootloader.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |     macro_rules! map {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.90
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.90
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:119:67
[INFO] [stdout]     |
[INFO] [stdout] 119 |             META.get(0).map_or_else(|| eprintln!("get failure"), |x| Proxy::send(port));
[INFO] [stdout]     |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |         fn call_super(x: Interner) -> Metaloader {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> haptloader/bootloader.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |         fn send<T>(data: T) {
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = iters.iter().map(|x| println!("{:?}", global_proxy!(haptloader/v1).0));
[INFO] [stdout]     |                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 230 |             call!([haptloader/Proxy] <= { cleanup(); x } =>)
[INFO] [stdout]     |             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `x` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> haptloader/bootloader.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = iters.iter().map(|x| println!("{:?}", global_proxy!(haptloader/v1).0));
[INFO] [stdout]     |                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 230 |             call!([haptloader/Proxy] <= { cleanup(); x } =>)
[INFO] [stdout]     |             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `stdcall` which comes from the expansion of the macro `call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |         fn merge<T>(x: T, ext: Proxy) -> isize {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_0` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     static RESET_0: [I16;2] = xy!(unsafe [LOCAL_STORAGE[0], LOCAL_STORAGE[1]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_1` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     static RESET_1: [I16;2] = xy!(unsafe [LOCAL_STORAGE[1], LOCAL_STORAGE[2]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_2` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     static RESET_2: [I16;2] = xy!(unsafe [LOCAL_STORAGE[2], LOCAL_STORAGE[3]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_VECTORS` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     static RESET_VECTORS: [I16;3] = [RESET_0[0], RESET_1[0], RESET_2[0]];
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_A` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     static RESET_A: u8 = RESET_VECTORS[0].0 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_B` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     static RESET_B: u8 = RESET_VECTORS[0].1 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_C` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     static RESET_C: u8 = RESET_VECTORS[0].0 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_D` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     static RESET_D: u8 = RESET_VECTORS[0].1 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `JUMPER_A` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     static JUMPER_A: [u8; 4] = [RESET_A, RESET_B, RESET_C, RESET_D];
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `JUMPER_B` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     static JUMPER_B: [u8; 4] = [RESET_D, RESET_C, RESET_B, RESET_A];
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INT` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     static INT: [u8; 4] = JUMPER_A;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LONG` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     static LONG: [u8; 8] = [RESET_A, RESET_B, RESET_C, RESET_D, RESET_D, RESET_C, RESET_B, RESET_A];
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U16` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     static U16: I16 = I16 (0, 0);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U32` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static U32: [I16; 2] = xy!(unsafe INT);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U64` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     static U64: [u32; 2] = xy!(unsafe LONG);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get(key: usize) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_jumper` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set_jumper(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_pin` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn set_pin<T>(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_vector` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn set_vector(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOADER` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     static LOADER: Metaloader = global_proxy!(haptloader/v1);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hapt_storage` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn hapt_storage() -> Interner {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn cleanup() {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metaloader` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     struct Metaloader(i128);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `META` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     static META: [Metaloader; 3] = [Metaloader(42), Metaloader(0), Metaloader(1)];
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PROXY` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |     static PROXY: Metaloader = Metaloader(42);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_hashcode`, `init`, and `get` are never used
[INFO] [stdout]    --> haptloader/bootloader.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl Metaloader {
[INFO] [stdout]     |     --------------- associated functions in this implementation
[INFO] [stdout] 118 |         fn get_hashcode(port: &Proxy) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |         fn init(name: &str, id: i128) -> Metaloader {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |         fn get(hash: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Superclass` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:137:11
[INFO] [stdout]     |
[INFO] [stdout] 137 |     trait Superclass {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Fn` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:153:11
[INFO] [stdout]     |
[INFO] [stdout] 153 |     trait Fn: Superclass + Sized {
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `send` and `recv` are never used
[INFO] [stdout]    --> haptloader/bootloader.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     impl Proxy {
[INFO] [stdout]     |     ---------- associated functions in this implementation
[INFO] [stdout] 193 |         fn send<T>(data: T) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |         fn recv<T>(hook: &mut Interner) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyPass` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     struct ProxyPass<T>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ProxyTrait` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 |     trait ProxyTrait: Superclass {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `U16` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     type U16 = Proxy;
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U24` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 |     struct U24(U16, i8);
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U48` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 |     struct U48(U24, U16, i8);
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Intern` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 |     trait Intern<T>: Send + Unpin {}
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> haptloader/bootloader.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     struct Rc(Gc, I16);
[INFO] [stdout]     |            -- ^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> haptloader/header.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct File(usize);
[INFO] [stdout]   |            ---- ^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> haptloader/header.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Version(u8, u8, Semver);
[INFO] [stdout]    |            ------- ^^  ^^  ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `version` are never read
[INFO] [stdout]   --> haptloader/header.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct HeaderItem {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 38 |     name: Arc<str>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     version: Version
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header` and `data` are never read
[INFO] [stdout]   --> haptloader/header.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct HeaderData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 52 |     header: HeaderItem,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     data: HeaderItem
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header` and `function` are never read
[INFO] [stdout]   --> haptloader/header.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct HeaderFunction {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 66 |     header: HeaderItem,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     function: HeaderData
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> haptloader/header.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Header(HeaderItem, HeaderFunction, HeaderData);
[INFO] [stdout]    |            ------ ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `intern`, `data`, and `functions` are never read
[INFO] [stdout]   --> haptloader/header.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub struct ParseState {
[INFO] [stdout]    |                ---------- fields in this struct
[INFO] [stdout] 85 |         header: HeaderItem,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 86 |         intern: HeaderData,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 87 |         data: HeaderData,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |         functions: HeaderFunction
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> haptloader/header.rs:102:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub struct Parser(ParseState);
[INFO] [stdout]     |                ------ ^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> haptloader/header.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub struct Header(super::Header, parser::Parser);
[INFO] [stdout]     |                ------ ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> haptloader/bootloader.rs:36:67
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub static mut LOCAL_STORAGE: &mut [I16; 16777216] = unsafe { &mut ROOT.1 };
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub static mut LOCAL_STORAGE: &mut [I16; 16777216] = unsafe { &raw mut ROOT.1 };
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> haptloader/bootloader.rs:68:42
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Ok((unsafe { std::mem::transmute(&LOCAL_STORAGE) }, 0xFFFF + key))
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Ok((unsafe { std::mem::transmute(&raw const LOCAL_STORAGE) }, 0xFFFF + key))
[INFO] [stdout]    |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.90
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:119:67
[INFO] [stdout]     |
[INFO] [stdout] 119 |             META.get(0).map_or_else(|| eprintln!("get failure"), |x| Proxy::send(port));
[INFO] [stdout]     |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |         fn call_super(x: Interner) -> Metaloader {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> haptloader/bootloader.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |         fn send<T>(data: T) {
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = iters.iter().map(|x| println!("{:?}", global_proxy!(haptloader/v1).0));
[INFO] [stdout]     |                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 230 |             call!([haptloader/Proxy] <= { cleanup(); x } =>)
[INFO] [stdout]     |             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `x` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> haptloader/bootloader.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let _ = iters.iter().map(|x| println!("{:?}", global_proxy!(haptloader/v1).0));
[INFO] [stdout]     |                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 230 |             call!([haptloader/Proxy] <= { cleanup(); x } =>)
[INFO] [stdout]     |             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `stdcall` which comes from the expansion of the macro `call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> haptloader/bootloader.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |         fn merge<T>(x: T, ext: Proxy) -> isize {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_0` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     static RESET_0: [I16;2] = xy!(unsafe [LOCAL_STORAGE[0], LOCAL_STORAGE[1]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_1` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     static RESET_1: [I16;2] = xy!(unsafe [LOCAL_STORAGE[1], LOCAL_STORAGE[2]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_2` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     static RESET_2: [I16;2] = xy!(unsafe [LOCAL_STORAGE[2], LOCAL_STORAGE[3]]);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_VECTORS` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     static RESET_VECTORS: [I16;3] = [RESET_0[0], RESET_1[0], RESET_2[0]];
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_A` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     static RESET_A: u8 = RESET_VECTORS[0].0 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_B` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     static RESET_B: u8 = RESET_VECTORS[0].1 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_C` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     static RESET_C: u8 = RESET_VECTORS[0].0 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RESET_D` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     static RESET_D: u8 = RESET_VECTORS[0].1 as u8;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `JUMPER_A` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     static JUMPER_A: [u8; 4] = [RESET_A, RESET_B, RESET_C, RESET_D];
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `JUMPER_B` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     static JUMPER_B: [u8; 4] = [RESET_D, RESET_C, RESET_B, RESET_A];
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INT` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     static INT: [u8; 4] = JUMPER_A;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LONG` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     static LONG: [u8; 8] = [RESET_A, RESET_B, RESET_C, RESET_D, RESET_D, RESET_C, RESET_B, RESET_A];
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U16` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     static U16: I16 = I16 (0, 0);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U32` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static U32: [I16; 2] = xy!(unsafe INT);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `U64` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     static U64: [u32; 2] = xy!(unsafe LONG);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get(key: usize) -> u64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_jumper` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn set_jumper(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_pin` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn set_pin<T>(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_vector` is never used
[INFO] [stdout]   --> haptloader/bootloader.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn set_vector(key: usize, value: I16) -> Output {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOADER` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     static LOADER: Metaloader = global_proxy!(haptloader/v1);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hapt_storage` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn hapt_storage() -> Interner {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn cleanup() {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metaloader` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     struct Metaloader(i128);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `META` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     static META: [Metaloader; 3] = [Metaloader(42), Metaloader(0), Metaloader(1)];
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PROXY` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |     static PROXY: Metaloader = Metaloader(42);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_hashcode`, `init`, and `get` are never used
[INFO] [stdout]    --> haptloader/bootloader.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl Metaloader {
[INFO] [stdout]     |     --------------- associated functions in this implementation
[INFO] [stdout] 118 |         fn get_hashcode(port: &Proxy) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |         fn init(name: &str, id: i128) -> Metaloader {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |         fn get(hash: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Superclass` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:137:11
[INFO] [stdout]     |
[INFO] [stdout] 137 |     trait Superclass {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Fn` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:153:11
[INFO] [stdout]     |
[INFO] [stdout] 153 |     trait Fn: Superclass + Sized {
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `send` and `recv` are never used
[INFO] [stdout]    --> haptloader/bootloader.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     impl Proxy {
[INFO] [stdout]     |     ---------- associated functions in this implementation
[INFO] [stdout] 193 |         fn send<T>(data: T) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |         fn recv<T>(hook: &mut Interner) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyPass` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     struct ProxyPass<T>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ProxyTrait` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 |     trait ProxyTrait: Superclass {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `U16` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     type U16 = Proxy;
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U24` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 |     struct U24(U16, i8);
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U48` is never constructed
[INFO] [stdout]    --> haptloader/bootloader.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 |     struct U48(U24, U16, i8);
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Intern` is never used
[INFO] [stdout]    --> haptloader/bootloader.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 |     trait Intern<T>: Send + Unpin {}
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> haptloader/bootloader.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     struct Rc(Gc, I16);
[INFO] [stdout]     |            -- ^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> haptloader/header.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct File(usize);
[INFO] [stdout]   |            ---- ^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> haptloader/header.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Version(u8, u8, Semver);
[INFO] [stdout]    |            ------- ^^  ^^  ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `version` are never read
[INFO] [stdout]   --> haptloader/header.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct HeaderItem {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 38 |     name: Arc<str>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     version: Version
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header` and `data` are never read
[INFO] [stdout]   --> haptloader/header.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct HeaderData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 52 |     header: HeaderItem,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     data: HeaderItem
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header` and `function` are never read
[INFO] [stdout]   --> haptloader/header.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct HeaderFunction {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 66 |     header: HeaderItem,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     function: HeaderData
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> haptloader/header.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Header(HeaderItem, HeaderFunction, HeaderData);
[INFO] [stdout]    |            ------ ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `intern`, `data`, and `functions` are never read
[INFO] [stdout]   --> haptloader/header.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub struct ParseState {
[INFO] [stdout]    |                ---------- fields in this struct
[INFO] [stdout] 85 |         header: HeaderItem,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 86 |         intern: HeaderData,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 87 |         data: HeaderData,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |         functions: HeaderFunction
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> haptloader/header.rs:102:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub struct Parser(ParseState);
[INFO] [stdout]     |                ------ ^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> haptloader/header.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub struct Header(super::Header, parser::Parser);
[INFO] [stdout]     |                ------ ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> haptloader/bootloader.rs:36:67
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub static mut LOCAL_STORAGE: &mut [I16; 16777216] = unsafe { &mut ROOT.1 };
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub static mut LOCAL_STORAGE: &mut [I16; 16777216] = unsafe { &raw mut ROOT.1 };
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> haptloader/bootloader.rs:68:42
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Ok((unsafe { std::mem::transmute(&LOCAL_STORAGE) }, 0xFFFF + key))
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Ok((unsafe { std::mem::transmute(&raw const LOCAL_STORAGE) }, 0xFFFF + key))
[INFO] [stdout]    |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: no errors encountered even though delayed bugs were created
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: those delayed bugs will now be shown as internal compiler errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: internal compiler error: inconsistent resolution for a macro
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/src/lib.rs:41:17
[INFO] [stdout]      |
[INFO] [stdout]   41 |                   panic!("function not implemented on non-wasm32 targets")
[INFO] [stdout]      |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1017 | / externs! {
[INFO] [stdout] 1018 | |     #[link(wasm_import_module = "__wbindgen_placeholder__")]
[INFO] [stdout] 1019 | |     extern "C" {
[INFO] [stdout] 1020 | |         fn __wbindgen_object_clone_ref(idx: u32) -> u32;
[INFO] [stdout] ...    |
[INFO] [stdout] 1100 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout] note: delayed at compiler/rustc_resolve/src/macros.rs:850:32
[INFO] [stdout]          0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
[INFO] [stdout]          1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
[INFO] [stdout]          2: <rustc_resolve::Resolver>::resolve_crate::{closure#0}
[INFO] [stdout]          3: <rustc_resolve::Resolver>::resolve_crate
[INFO] [stdout]          4: rustc_interface::passes::configure_and_expand
[INFO] [stdout]          5: rustc_interface::passes::resolver_for_lowering_raw
[INFO] [stdout]          6: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 16]>>
[INFO] [stdout]          7: <rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, ())>>::call_once
[INFO] [stdout]          8: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false>
[INFO] [stdout]          9: rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stdout]         10: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stdout]         11: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
[INFO] [stdout]         12: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stdout]         13: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]         14: std::sys::thread::unix::Thread::new::thread_start
[INFO] [stdout]         15: <unknown>
[INFO] [stdout]         16: clone
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/src/lib.rs:41:17
[INFO] [stdout]      |
[INFO] [stdout]   41 |                   panic!("function not implemented on non-wasm32 targets")
[INFO] [stdout]      |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1017 | / externs! {
[INFO] [stdout] 1018 | |     #[link(wasm_import_module = "__wbindgen_placeholder__")]
[INFO] [stdout] 1019 | |     extern "C" {
[INFO] [stdout] 1020 | |         fn __wbindgen_object_clone_ref(idx: u32) -> u32;
[INFO] [stdout] ...    |
[INFO] [stdout] 1100 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: this error: internal compiler error originates in the macro `externs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stdout] error: internal compiler error: inconsistent resolution for a macro
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/src/lib.rs:1131:13
[INFO] [stdout]      |
[INFO] [stdout] 1131 |             debug_assert!(self.idx >= JSIDX_OFFSET, "free of stack slot {}", self.idx);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: delayed at compiler/rustc_resolve/src/macros.rs:850:32
[INFO] [stdout]          0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
[INFO] [stdout]          1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
[INFO] [stdout]          2: <rustc_resolve::Resolver>::resolve_crate::{closure#0}
[INFO] [stdout]          3: <rustc_resolve::Resolver>::resolve_crate
[INFO] [stdout]          4: rustc_interface::passes::configure_and_expand
[INFO] [stdout]          5: rustc_interface::passes::resolver_for_lowering_raw
[INFO] [stdout]          6: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 16]>>
[INFO] [stdout]          7: <rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, ())>>::call_once
[INFO] [stdout]          8: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false>
[INFO] [stdout]          9: rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stdout]         10: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stdout]         11: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
[INFO] [stdout]         12: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stdout]         13: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]         14: std::sys::thread::unix::Thread::new::thread_start
[INFO] [stdout]         15: <unknown>
[INFO] [stdout]         16: clone
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/src/lib.rs:1131:13
[INFO] [stdout]      |
[INFO] [stdout] 1131 |             debug_assert!(self.idx >= JSIDX_OFFSET, "free of stack slot {}", self.idx);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: this error: internal compiler error originates in the macro `$crate::assert` which comes from the expansion of the macro `debug_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/rustc-ice-2025-10-20T07_03_54-219.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.92.0-nightly (863511eff 2025-10-18) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] end of query stack
[INFO] [stderr] error: could not compile `wasm-bindgen` (lib); 66 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/863511eff87e66198b396935f3b5c8a543022f53/bin/rustc --crate-name wasm_bindgen --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.90/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="spans"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "enable-interning", "gg-alloc", "serde", "serde-serialize", "serde_json", "spans", "std", "strict-macro", "xxx_debug_only_print_generated_code"))' -C metadata=c47372d541ba10dc -C extra-filename=-7716f4e6cff95241 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern cfg_if=/opt/rustwide/target/debug/deps/libcfg_if-d541ac7a75168aa5.rmeta --extern wasm_bindgen_macro=/opt/rustwide/target/debug/deps/libwasm_bindgen_macro-ea930a89cfcee1ca.so --cap-lints allow --cap-lints=forbid` (exit status: 101)
[INFO] running `Command { std: "docker" "inspect" "29a0cdd46721802bc6f5d3b35e132ac0b8ff2750f990eddff0ee3c93111610ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29a0cdd46721802bc6f5d3b35e132ac0b8ff2750f990eddff0ee3c93111610ec", kill_on_drop: false }`
[INFO] [stdout] 29a0cdd46721802bc6f5d3b35e132ac0b8ff2750f990eddff0ee3c93111610ec
