[INFO] cloning repository https://github.com/bobbin-rs/bobbin-wasm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bobbin-rs/bobbin-wasm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobbin-rs%2Fbobbin-wasm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobbin-rs%2Fbobbin-wasm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4974d2b1f0806b13bb3381c19a36f691bf683d4e
[INFO] checking bobbin-rs/bobbin-wasm against try#3fada14ee01d755dc8076e611f11bf65b28ffd21 for pr-154971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobbin-rs%2Fbobbin-wasm" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bobbin-rs/bobbin-wasm
[INFO] finished tweaking git repo https://github.com/bobbin-rs/bobbin-wasm
[INFO] tweaked toml for git repo https://github.com/bobbin-rs/bobbin-wasm written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bobbin-rs/bobbin-wasm on toolchain 3fada14ee01d755dc8076e611f11bf65b28ffd21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bobbin-rs/bobbin-wasm 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" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[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 cfg-if v0.1.2
[INFO] [stderr]   Downloaded fallible-iterator v0.1.4
[INFO] [stderr]   Downloaded env_logger v0.5.3
[INFO] [stderr]   Downloaded log v0.4.1
[INFO] [stderr]   Downloaded atty v0.2.6
[INFO] [stderr]   Downloaded termcolor v0.3.4
[INFO] [stderr]   Downloaded num-iter v0.1.35
[INFO] [stderr]   Downloaded wincolor v0.1.6
[INFO] [stderr]   Downloaded clap v2.30.0
[INFO] [stderr]   Downloaded byteorder v1.2.1
[INFO] [stderr]   Downloaded ansi_term v0.10.2
[INFO] [stderr]   Downloaded num-traits v0.2.0
[INFO] [stderr]   Downloaded chrono v0.4.0
[INFO] [stderr]   Downloaded regex-syntax v0.4.2
[INFO] [stderr]   Downloaded regex v0.2.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c4a4647d1114b196e0b29eaf2402ff7db7a98d98935d4f1ccd049825099f1d32
[INFO] running `Command { std: "docker" "start" "-a" "c4a4647d1114b196e0b29eaf2402ff7db7a98d98935d4f1ccd049825099f1d32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4a4647d1114b196e0b29eaf2402ff7db7a98d98935d4f1ccd049825099f1d32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4a4647d1114b196e0b29eaf2402ff7db7a98d98935d4f1ccd049825099f1d32", kill_on_drop: false }`
[INFO] [stdout] c4a4647d1114b196e0b29eaf2402ff7db7a98d98935d4f1ccd049825099f1d32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70e8c63926a8914b05b103187608384b1f8058723a96030fd3e5bad5890fed32
[INFO] running `Command { std: "docker" "start" "-a" "70e8c63926a8914b05b103187608384b1f8058723a96030fd3e5bad5890fed32", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking libc v0.2.36
[INFO] [stderr]     Checking num-traits v0.2.0
[INFO] [stderr]     Checking lazy_static v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.4.2
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking ansi_term v0.10.2
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking termcolor v0.3.4
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking byteorder v1.2.1
[INFO] [stderr]     Checking fallible-iterator v0.1.4
[INFO] [stderr]     Checking log v0.4.1
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking atty v0.2.6
[INFO] [stderr]     Checking time v0.1.39
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking clap v2.30.0
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]     Checking num-iter v0.1.35
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking regex v0.2.6
[INFO] [stderr]     Checking chrono v0.4.0
[INFO] [stderr]     Checking env_logger v0.5.3
[INFO] [stderr]     Checking bobbin-wasm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/lib.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(ptr_offset_from, core_intrinsics)]
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 0x28 ... 0x30 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:335:22
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 0x46 ... 0x50 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 0x6a ... 0x79 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:380:29
[INFO] [stdout]     |
[INFO] [stdout] 380 |                 0x45 | 0x67 ... 0x6a => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/memory_inst.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         (addr % MINI_SIZE)
[INFO] [stdout]    |         ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         (addr % MINI_SIZE)
[INFO] [stdout] 97 +         addr % MINI_SIZE 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:604:25
[INFO] [stdout]     |
[INFO] [stdout] 604 |             I32_LOAD8_S ... I32_LOAD16_U |
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:605:24
[INFO] [stdout]     |
[INFO] [stdout] 605 |             I32_STORE8 ... I32_STORE16 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:614:25
[INFO] [stdout]     |
[INFO] [stdout] 614 |             I64_LOAD8_S ... I64_LOAD32_U |
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |             I64_STORE8 ... I64_STORE32 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::section::*`
[INFO] [stdout]   --> src/parser/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::section::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/page_table.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (addr % PAGE_SIZE)
[INFO] [stdout]    |         ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -         (addr % PAGE_SIZE)
[INFO] [stdout] 85 +         addr % PAGE_SIZE
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `ptr_offset_from` has been stable since 1.47.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(ptr_offset_from, core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Type` in this scope
[INFO] [stdout]    --> src/module_inst.rs:400:21
[INFO] [stdout]     |
[INFO] [stdout] 400 |             let t = Type { parameters, returns };
[INFO] [stdout]     |                     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this variant
[INFO] [stdout]     |
[INFO] [stdout] 377 +     use Id::Type;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Type` in this scope
[INFO] [stdout]    --> src/module_inst.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |             Type {
[INFO] [stdout]     |             ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this variant
[INFO] [stdout]     |
[INFO] [stdout] 377 +     use Id::Type;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/lib.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(ptr_offset_from, core_intrinsics)]
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 0x28 ... 0x30 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:335:22
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 0x46 ... 0x50 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 0x6a ... 0x79 => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interp.rs:380:29
[INFO] [stdout]     |
[INFO] [stdout] 380 |                 0x45 | 0x67 ... 0x6a => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/memory_inst.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         (addr % MINI_SIZE)
[INFO] [stdout]    |         ^                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         (addr % MINI_SIZE)
[INFO] [stdout] 97 +         addr % MINI_SIZE 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:604:25
[INFO] [stdout]     |
[INFO] [stdout] 604 |             I32_LOAD8_S ... I32_LOAD16_U |
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:605:24
[INFO] [stdout]     |
[INFO] [stdout] 605 |             I32_STORE8 ... I32_STORE16 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:614:25
[INFO] [stdout]     |
[INFO] [stdout] 614 |             I64_LOAD8_S ... I64_LOAD32_U |
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/module.rs:615:24
[INFO] [stdout]     |
[INFO] [stdout] 615 |             I64_STORE8 ... I64_STORE32 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::section::*`
[INFO] [stdout]   --> src/parser/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::section::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/page_table.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (addr % PAGE_SIZE)
[INFO] [stdout]    |         ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -         (addr % PAGE_SIZE)
[INFO] [stdout] 85 +         addr % PAGE_SIZE
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `ptr_offset_from` has been stable since 1.47.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(ptr_offset_from, core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler.rs:607:29
[INFO] [stdout]     |
[INFO] [stdout] 607 |                         let mut label = self.top_label_ref()?;
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 |         assert_eq!(f32_hex(0.0),"0x0p+0");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 144 |         assert_eq!(f32_hex(/* out */, 0.0),"0x0p+0");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 |         assert_eq!(f32_hex(0.0),"0x0p+0");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         assert_eq!(f32_hex(1.0),"0x1p+0");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 145 |         assert_eq!(f32_hex(/* out */, 1.0),"0x1p+0");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:145:33
[INFO] [stdout]     |
[INFO] [stdout] 145 |         assert_eq!(f32_hex(1.0),"0x1p+0");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |         assert_eq!(f32_hex(0.5),"0x1p-1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 146 |         assert_eq!(f32_hex(/* out */, 0.5),"0x1p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |         assert_eq!(f32_hex(0.5),"0x1p-1");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:147:20
[INFO] [stdout]     |
[INFO] [stdout] 147 |         assert_eq!(f32_hex(2.0),"0x1p+1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 147 |         assert_eq!(f32_hex(/* out */, 2.0),"0x1p+1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 |         assert_eq!(f32_hex(2.0),"0x1p+1");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |         assert_eq!(f32_hex(3.0),"0x1.8p+1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 148 |         assert_eq!(f32_hex(/* out */, 3.0),"0x1.8p+1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |         assert_eq!(f32_hex(3.0),"0x1.8p+1");
[INFO] [stdout]     |                                 ^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |         assert_eq!(f32_hex(4.0),"0x1p+2");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 149 |         assert_eq!(f32_hex(/* out */, 4.0),"0x1p+2");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |         assert_eq!(f32_hex(4.0),"0x1p+2");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |         assert_eq!(f32_hex(2.0f32.powi(8)),"0x1p+8");
[INFO] [stdout]     |                    ^^^^^^^ -------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 150 |         assert_eq!(f32_hex(/* out */, 2.0f32.powi(8)),"0x1p+8");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:150:44
[INFO] [stdout]     |
[INFO] [stdout] 150 |         assert_eq!(f32_hex(2.0f32.powi(8)),"0x1p+8");
[INFO] [stdout]     |                                            ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |         assert_eq!(f32_hex(0.857421875f32), "0x1.b7p-1");
[INFO] [stdout]     |                    ^^^^^^^ -------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 151 |         assert_eq!(f32_hex(/* out */, 0.857421875f32), "0x1.b7p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:151:45
[INFO] [stdout]     |
[INFO] [stdout] 151 |         assert_eq!(f32_hex(0.857421875f32), "0x1.b7p-1");
[INFO] [stdout]     |                                             ^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |         assert_eq!(f32_hex(f32::from_bits(0x65a9_6816)), "0x1.52d02cp+76");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 152 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0x65a9_6816)), "0x1.52d02cp+76");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:152:58
[INFO] [stdout]     |
[INFO] [stdout] 152 |         assert_eq!(f32_hex(f32::from_bits(0x65a9_6816)), "0x1.52d02cp+76");
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |         assert_eq!(f32_hex(f32::from_bits(0x374f_2040)), "0x1.9e408p-17");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 153 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0x374f_2040)), "0x1.9e408p-17");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:153:58
[INFO] [stdout]     |
[INFO] [stdout] 153 |         assert_eq!(f32_hex(f32::from_bits(0x374f_2040)), "0x1.9e408p-17");
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:154:20
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_eq!(f32_hex(f32::from_bits(0x7fc0_0000)), "nan");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0x7fc0_0000)), "nan");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:154:58
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_eq!(f32_hex(f32::from_bits(0x7fc0_0000)), "nan");
[INFO] [stdout]     |                                                          ^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |         assert_eq!(f32_hex(f32::from_bits(0x7f80_0abc)), "nan:0xabc");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 155 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0x7f80_0abc)), "nan:0xabc");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:155:58
[INFO] [stdout]     |
[INFO] [stdout] 155 |         assert_eq!(f32_hex(f32::from_bits(0x7f80_0abc)), "nan:0xabc");
[INFO] [stdout]     |                                                          ^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |         assert_eq!(f32_hex(f32::from_bits(0xff80_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 156 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0xff80_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:156:58
[INFO] [stdout]     |
[INFO] [stdout] 156 |         assert_eq!(f32_hex(f32::from_bits(0xff80_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |         assert_eq!(f32_hex(f32::from_bits(0x7f80_0000)), "inf");
[INFO] [stdout]     |                    ^^^^^^^ --------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub fn f32_hex<W: Write>(out: &mut W, v: f32) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 157 |         assert_eq!(f32_hex(/* out */, f32::from_bits(0x7f80_0000)), "inf");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:157:58
[INFO] [stdout]     |
[INFO] [stdout] 157 |         assert_eq!(f32_hex(f32::from_bits(0x7f80_0000)), "inf");
[INFO] [stdout]     |                                                          ^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |         assert_eq!(f64_hex(0.0),"0x0p+0");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 161 |         assert_eq!(f64_hex(/* out */, 0.0),"0x0p+0");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         assert_eq!(f64_hex(0.0),"0x0p+0");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |         assert_eq!(f64_hex(1.0),"0x1p+0");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 162 |         assert_eq!(f64_hex(/* out */, 1.0),"0x1p+0");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/interp.rs:380:24
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 0x6a ... 0x79 => {
[INFO] [stdout]     |                 ------------- this range overlaps on `106_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 380 |                 0x45 | 0x67 ... 0x6a => {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]     = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 162 |         assert_eq!(f64_hex(1.0),"0x1p+0");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:163:20
[INFO] [stdout]     |
[INFO] [stdout] 163 |         assert_eq!(f64_hex(0.5),"0x1p-1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 163 |         assert_eq!(f64_hex(/* out */, 0.5),"0x1p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 |         assert_eq!(f64_hex(0.5),"0x1p-1");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:164:20
[INFO] [stdout]     |
[INFO] [stdout] 164 |         assert_eq!(f64_hex(2.0),"0x1p+1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 164 |         assert_eq!(f64_hex(/* out */, 2.0),"0x1p+1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:164:33
[INFO] [stdout]     |
[INFO] [stdout] 164 |         assert_eq!(f64_hex(2.0),"0x1p+1");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:165:20
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(f64_hex(3.0),"0x1.8p+1");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(f64_hex(/* out */, 3.0),"0x1.8p+1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(f64_hex(3.0),"0x1.8p+1");
[INFO] [stdout]     |                                 ^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         assert_eq!(f64_hex(4.0),"0x1p+2");
[INFO] [stdout]     |                    ^^^^^^^ --- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 166 |         assert_eq!(f64_hex(/* out */, 4.0),"0x1p+2");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:166:33
[INFO] [stdout]     |
[INFO] [stdout] 166 |         assert_eq!(f64_hex(4.0),"0x1p+2");
[INFO] [stdout]     |                                 ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         assert_eq!(f64_hex(2.0f64.powi(8)),"0x1p+8");
[INFO] [stdout]     |                    ^^^^^^^ -------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 167 |         assert_eq!(f64_hex(/* out */, 2.0f64.powi(8)),"0x1p+8");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:167:44
[INFO] [stdout]     |
[INFO] [stdout] 167 |         assert_eq!(f64_hex(2.0f64.powi(8)),"0x1p+8");
[INFO] [stdout]     |                                            ^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |         assert_eq!(f64_hex(0.857421875f64), "0x1.b7p-1");
[INFO] [stdout]     |                    ^^^^^^^ -------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 168 |         assert_eq!(f64_hex(/* out */, 0.857421875f64), "0x1.b7p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:168:45
[INFO] [stdout]     |
[INFO] [stdout] 168 |         assert_eq!(f64_hex(0.857421875f64), "0x1.b7p-1");
[INFO] [stdout]     |                                             ^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         assert_eq!(f64_hex(f64::from_bits(0xbfef_9add_3c0e_56b8)), "-0x1.f9add3c0e56b8p-1");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 170 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0xbfef_9add_3c0e_56b8)), "-0x1.f9add3c0e56b8p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:170:68
[INFO] [stdout]     |
[INFO] [stdout] 170 |         assert_eq!(f64_hex(f64::from_bits(0xbfef_9add_3c0e_56b8)), "-0x1.f9add3c0e56b8p-1");
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |         assert_eq!(f64_hex(f64::from_bits(0x4019_21fb_5444_2d18)), "0x1.921fb54442d18p+2");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 171 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0x4019_21fb_5444_2d18)), "0x1.921fb54442d18p+2");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:171:68
[INFO] [stdout]     |
[INFO] [stdout] 171 |         assert_eq!(f64_hex(f64::from_bits(0x4019_21fb_5444_2d18)), "0x1.921fb54442d18p+2");
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(f64_hex(f64::from_bits(0x7ff8_0000_0000_0000)), "nan");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0x7ff8_0000_0000_0000)), "nan");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:173:68
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(f64_hex(f64::from_bits(0x7ff8_0000_0000_0000)), "nan");
[INFO] [stdout]     |                                                                    ^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:175:20
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(f64_hex(f64::from_bits(0xfff8_0000_0000_0000)), "-nan");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0xfff8_0000_0000_0000)), "-nan");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:175:68
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(f64_hex(f64::from_bits(0xfff8_0000_0000_0000)), "-nan");
[INFO] [stdout]     |                                                                    ^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 176 |         assert_eq!(f64_hex(f64::from_bits(0x7ff0_0000_0000_0abc)), "nan:0xabc");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 176 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0x7ff0_0000_0000_0abc)), "nan:0xabc");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:176:68
[INFO] [stdout]     |
[INFO] [stdout] 176 |         assert_eq!(f64_hex(f64::from_bits(0x7ff0_0000_0000_0abc)), "nan:0xabc");
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:177:20
[INFO] [stdout]     |
[INFO] [stdout] 177 |         assert_eq!(f64_hex(f64::from_bits(0xfff0_0000_0000_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 177 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0xfff0_0000_0000_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:177:68
[INFO] [stdout]     |
[INFO] [stdout] 177 |         assert_eq!(f64_hex(f64::from_bits(0xfff0_0000_0000_0abc)), "-nan:0xabc");
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |         assert_eq!(f64_hex(f64::from_bits(0x7ff0_0000_0000_0000)), "inf");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 178 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0x7ff0_0000_0000_0000)), "inf");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:178:68
[INFO] [stdout]     |
[INFO] [stdout] 178 |         assert_eq!(f64_hex(f64::from_bits(0x7ff0_0000_0000_0000)), "inf");
[INFO] [stdout]     |                                                                    ^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/floathex.rs:180:20
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(f64_hex(f64::from_bits(0xbfe0_0000_0000_0000)), "-0x1p-1");
[INFO] [stdout]     |                    ^^^^^^^ ------------------------------------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/floathex.rs:77:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub fn f64_hex<W: Write>(out: &mut W, v: f64) -> fmt::Result {
[INFO] [stdout]     |        ^^^^^^^           -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(f64_hex(/* out */, f64::from_bits(0xbfe0_0000_0000_0000)), "-0x1p-1");
[INFO] [stdout]     |                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/floathex.rs:180:68
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(f64_hex(f64::from_bits(0xbfe0_0000_0000_0000)), "-0x1p-1");
[INFO] [stdout]     |                                                                    ^^^^^^^^^ expected `Result<(), Error>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), core::fmt::Error>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/compiler.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn iter(&self) -> RangeIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn iter(&self) -> RangeIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/memory_inst.rs:26:83
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(buf: &'a mut [u8], min_pages: usize, _max_pages: Option<usize>) -> MemoryInst {        
[INFO] [stdout]    |                      -- the lifetime is named here                                ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(buf: &'a mut [u8], min_pages: usize, _max_pages: Option<usize>) -> MemoryInst<'a> {        
[INFO] [stdout]    |                                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:202:27
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn function_types(&self) -> &[FunctionType] {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |         | |
[INFO] [stdout]     |                           |         | the same lifetime is hidden here
[INFO] [stdout]     |                           |         the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn function_types(&self) -> &[FunctionType<'_>] {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:206:22
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn functions(&self) -> &[FuncInst] {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^
[INFO] [stdout]     |                      |         | |
[INFO] [stdout]     |                      |         | the same lifetime is hidden here
[INFO] [stdout]     |                      |         the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn functions(&self) -> &[FuncInst<'_>] {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:214:18
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn table(&self, index: usize) -> &SmallVec<u32> {
[INFO] [stdout]     |                  ^^^^^                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |                       ||
[INFO] [stdout]     |                  |                       |the same lifetime is hidden here
[INFO] [stdout]     |                  |                       the same lifetime is elided here
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn table(&self, index: usize) -> &SmallVec<'_, u32> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn exports(&self) -> &[ExportInst] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn exports(&self) -> &[ExportInst<'_>] {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:230:27
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn type_signature(&self, index: usize) -> &FunctionType {
[INFO] [stdout]     |                           ^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                           |                       ||
[INFO] [stdout]     |                           |                       |the same lifetime is hidden here
[INFO] [stdout]     |                           |                       the same lifetime is elided here
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn type_signature(&self, index: usize) -> &FunctionType<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/module_inst.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn code(&self) -> &CompiledCode {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^
[INFO] [stdout]     |                 |         ||
[INFO] [stdout]     |                 |         |the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is elided here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn code(&self) -> &CompiledCode<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/module.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn sections(&self) -> ReadIterator<Section<'a>> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn sections(&self) -> ReadIterator<'_, Section<'a>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/module.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn signature_type(&self, index: Index) -> Result<Option<FunctionType>, Error> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn signature_type(&self, index: Index) -> Result<Option<FunctionType<'_>>, Error> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/module.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn globals(&self) -> SectionReadIterator<'a, Global> {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn globals(&self) -> SectionReadIterator<'a, Global<'_>> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/module.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn elements(&self) -> SectionReadIterator<'a, Element> {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn elements(&self) -> SectionReadIterator<'a, Element<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `core_intrinsics` is declared but not used
[INFO] [stdout]  --> src/lib.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(ptr_offset_from, core_intrinsics)]
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler.rs:607:29
[INFO] [stdout]     |
[INFO] [stdout] 607 |                         let mut label = self.top_label_ref()?;
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/interp.rs:380:24
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 0x6a ... 0x79 => {
[INFO] [stdout]     |                 ------------- this range overlaps on `106_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 380 |                 0x45 | 0x67 ... 0x6a => {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]     = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0422.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bobbin-wasm` (lib test) due to 62 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "70e8c63926a8914b05b103187608384b1f8058723a96030fd3e5bad5890fed32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70e8c63926a8914b05b103187608384b1f8058723a96030fd3e5bad5890fed32", kill_on_drop: false }`
[INFO] [stdout] 70e8c63926a8914b05b103187608384b1f8058723a96030fd3e5bad5890fed32
