[INFO] cloning repository https://github.com/toshok/rusttalk [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/toshok/rusttalk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoshok%2Frusttalk", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoshok%2Frusttalk'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2f59891b4e15148827d89ad85b6aeb41ee32df1c [INFO] linting toshok/rusttalk against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoshok%2Frusttalk" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/toshok/rusttalk [INFO] finished tweaking git repo https://github.com/toshok/rusttalk [INFO] tweaked toml for git repo https://github.com/toshok/rusttalk written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/toshok/rusttalk on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/toshok/rusttalk 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" "+nightly" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 55f98a6bde09241efd80123bf29cd48e5a219aeba1bbadc15fb50235bc890e6c [INFO] running `Command { std: "docker" "start" "-a" "55f98a6bde09241efd80123bf29cd48e5a219aeba1bbadc15fb50235bc890e6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55f98a6bde09241efd80123bf29cd48e5a219aeba1bbadc15fb50235bc890e6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55f98a6bde09241efd80123bf29cd48e5a219aeba1bbadc15fb50235bc890e6c", kill_on_drop: false }` [INFO] [stdout] 55f98a6bde09241efd80123bf29cd48e5a219aeba1bbadc15fb50235bc890e6c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c1af52d398a3c83b158e5e39c679b98e9bddbf455a0999ee96d79735bf9e9a20 [INFO] running `Command { std: "docker" "start" "-a" "c1af52d398a3c83b158e5e39c679b98e9bddbf455a0999ee96d79735bf9e9a20", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Checking rusttalk v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | 0...15 => self.push_receiver_var(bytecode), [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 [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:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | 16...31 => self.push_temp_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:117:19 [INFO] [stdout] | [INFO] [stdout] 117 | 32...63 => self.push_literal_const(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 64...95 => self.push_literal_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:119:19 [INFO] [stdout] | [INFO] [stdout] 119 | 96...103 => self.pop_and_store_receiver_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | 104...111 => self.pop_and_store_temp_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | 126...127 => panic!("illegal bytecode"), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:147:20 [INFO] [stdout] | [INFO] [stdout] 147 | 138...143 => panic!("illegal bytecode"), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | 144...151 => self.short_unconditional_jump(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | 152...159 => self.jump_if_false(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:150:20 [INFO] [stdout] | [INFO] [stdout] 150 | 160...167 => self.extended_unconditional_jump(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:151:20 [INFO] [stdout] | [INFO] [stdout] 151 | 168...171 => self.extended_jump_on_true(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:152:20 [INFO] [stdout] | [INFO] [stdout] 152 | 172...175 => self.extended_jump_on_false(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 153 | 176...191 => self.send_arith_msg(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | 192...207 => panic!("special ops not implemented"), //sCommonMsg [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:155:20 [INFO] [stdout] | [INFO] [stdout] 155 | 208...223 => self.send_literal_with_argc(bytecode, 0), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:156:20 [INFO] [stdout] | [INFO] [stdout] 156 | 224...239 => self.send_literal_with_argc(bytecode, 1), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | 240...255 => self.send_literal_with_argc(bytecode, 2), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/interp.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | ((self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1) [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] 643 - ((self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1) [INFO] [stdout] 643 + (self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/interp.rs:647:9 [INFO] [stdout] | [INFO] [stdout] 647 | (((hdr) & 0x0F80) >> 7) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 647 - (((hdr) & 0x0F80) >> 7) [INFO] [stdout] 647 + ((hdr) & 0x0F80) >> 7 [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/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(ptr_offset_from)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | 0...15 => self.push_receiver_var(bytecode), [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 [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:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | 16...31 => self.push_temp_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:117:19 [INFO] [stdout] | [INFO] [stdout] 117 | 32...63 => self.push_literal_const(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 64...95 => self.push_literal_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:119:19 [INFO] [stdout] | [INFO] [stdout] 119 | 96...103 => self.pop_and_store_receiver_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | 104...111 => self.pop_and_store_temp_var(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | 126...127 => panic!("illegal bytecode"), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:147:20 [INFO] [stdout] | [INFO] [stdout] 147 | 138...143 => panic!("illegal bytecode"), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | 144...151 => self.short_unconditional_jump(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | 152...159 => self.jump_if_false(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:150:20 [INFO] [stdout] | [INFO] [stdout] 150 | 160...167 => self.extended_unconditional_jump(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:151:20 [INFO] [stdout] | [INFO] [stdout] 151 | 168...171 => self.extended_jump_on_true(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:152:20 [INFO] [stdout] | [INFO] [stdout] 152 | 172...175 => self.extended_jump_on_false(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 153 | 176...191 => self.send_arith_msg(bytecode), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | 192...207 => panic!("special ops not implemented"), //sCommonMsg [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:155:20 [INFO] [stdout] | [INFO] [stdout] 155 | 208...223 => self.send_literal_with_argc(bytecode, 0), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:156:20 [INFO] [stdout] | [INFO] [stdout] 156 | 224...239 => self.send_literal_with_argc(bytecode, 1), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interp.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | 240...255 => self.send_literal_with_argc(bytecode, 2), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/interp.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | ((self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1) [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] 643 - ((self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1) [INFO] [stdout] 643 + (self.lit_cnt_hdr(hdr) + LITERAL_START) * mem::size_of::() as u32 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/interp.rs:647:9 [INFO] [stdout] | [INFO] [stdout] 647 | (((hdr) & 0x0F80) >> 7) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 647 - (((hdr) & 0x0F80) >> 7) [INFO] [stdout] 647 + ((hdr) & 0x0F80) >> 7 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/snapshot.rs:22:65 [INFO] [stdout] | [INFO] [stdout] 22 | Err(why) => panic!("couldn't open {}: {}", display, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [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/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(ptr_offset_from)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg_selector` [INFO] [stdout] --> src/interp.rs:557:21 [INFO] [stdout] | [INFO] [stdout] 557 | let msg_selector = self.msg_selector; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_selector` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches any value [INFO] [stdout] ... [INFO] [stdout] 496 | CLASS_COMPILED_METHOD => print!("(compiled_method)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match against the value of constant `CLASS_STRING` instead of introducing a new catch-all binding [INFO] [stdout] | [INFO] [stdout] 487 | std_ptrs::CLASS_STRING => print!("(string)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | _ => print!("(unknown)"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 500 | _ => print!("(unknown)"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_STRING` [INFO] [stdout] --> src/om.rs:487:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_STRING` [INFO] [stdout] | [INFO] [stdout] 487 | std_ptrs::CLASS_STRING => print!("(string)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 487 | _CLASS_STRING => print!("(string)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_ARRAY` [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_ARRAY` [INFO] [stdout] | [INFO] [stdout] 488 | std_ptrs::CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 488 | _CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_FLOAT` [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_FLOAT` [INFO] [stdout] | [INFO] [stdout] 489 | std_ptrs::CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 489 | _CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_METH_CTX` [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_METH_CTX` [INFO] [stdout] | [INFO] [stdout] 490 | std_ptrs::CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 490 | _CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_BLOCK_CTX` [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_BLOCK_CTX` [INFO] [stdout] | [INFO] [stdout] 491 | std_ptrs::CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 491 | _CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_POINT` [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_POINT` [INFO] [stdout] | [INFO] [stdout] 492 | std_ptrs::CLASS_POINT => print!("(point)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 492 | _CLASS_POINT => print!("(point)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_LG_POS_INT` [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_LG_POS_INT` [INFO] [stdout] | [INFO] [stdout] 493 | std_ptrs::CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 493 | _CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_DISPLAY_BITMAP` [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_DISPLAY_BITMAP` [INFO] [stdout] | [INFO] [stdout] 494 | std_ptrs::CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 494 | _CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_MSG` [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_MSG` [INFO] [stdout] | [INFO] [stdout] 495 | std_ptrs::CLASS_MSG => print!("(message)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 495 | _CLASS_MSG => print!("(message)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_SEMA` [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_SEMA` [INFO] [stdout] | [INFO] [stdout] 497 | std_ptrs::CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 497 | _CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_CHARACTER` [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_CHARACTER` [INFO] [stdout] | [INFO] [stdout] 498 | std_ptrs::CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 498 | _CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_FORM` [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_FORM` [INFO] [stdout] | [INFO] [stdout] 499 | std_ptrs::CLASS_FORM => print!("(form)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 499 | _CLASS_FORM => print!("(form)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SENDER` is never used [INFO] [stdout] --> src/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const SENDER: isize = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSTR_PTR` is never used [INFO] [stdout] --> src/context.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const INSTR_PTR: isize = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_PTR` is never used [INFO] [stdout] --> src/context.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const STACK_PTR: isize = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METHOD` is never used [INFO] [stdout] --> src/context.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const METHOD: isize = 3; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CALLER` is never used [INFO] [stdout] --> src/context.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const CALLER: isize = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_ARGC` is never used [INFO] [stdout] --> src/context.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const BLOCK_ARGC: isize = 3; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INIT_IP` is never used [INFO] [stdout] --> src/context.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const INIT_IP: isize = 4; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HOME` is never used [INFO] [stdout] --> src/context.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const HOME: isize = 5; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEAP_SPACE_STOP` is never used [INFO] [stdout] --> src/om.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const HEAP_SPACE_STOP: usize = OM_SIZE - 1; /* G/R p.658 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LITERAL_START` is never used [INFO] [stdout] --> src/om.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static LITERAL_START: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPER_CLASS` is never used [INFO] [stdout] --> src/om.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const SUPER_CLASS: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSTANCE_SPEC` is never used [INFO] [stdout] --> src/om.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const INSTANCE_SPEC: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dump_ot` and `dump_oop` are never used [INFO] [stdout] --> src/om.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl OM { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 475 | pub fn dump_ot(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn dump_oop(&self, oop: OOP) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROC_LISTS` is never used [INFO] [stdout] --> src/process.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const PROC_LISTS: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIRST_LINK` is never used [INFO] [stdout] --> src/process.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const FIRST_LINK: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_LINK` is never used [INFO] [stdout] --> src/process.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const LAST_LINK: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXCESS_SIGNALS` is never used [INFO] [stdout] --> src/process.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const EXCESS_SIGNALS: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEXT_LINK` is never used [INFO] [stdout] --> src/process.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NEXT_LINK: u8 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIORITY` is never used [INFO] [stdout] --> src/process.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const PRIORITY: u8 = 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MY_LIST` is never used [INFO] [stdout] --> src/process.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const MY_LIST: u8 = 3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CANNOT_RETURN` is never used [INFO] [stdout] --> src/std_ptrs.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const CANNOT_RETURN: OOP = 22; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAR_TABLE` is never used [INFO] [stdout] --> src/std_ptrs.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const CHAR_TABLE: OOP = 25; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_STRING` is never used [INFO] [stdout] --> src/std_ptrs.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const CLASS_STRING: OOP = 7; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_FLOAT` is never used [INFO] [stdout] --> src/std_ptrs.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const CLASS_FLOAT: OOP = 10; /* not defined in G/R */ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_BLOCK_CTX` is never used [INFO] [stdout] --> src/std_ptrs.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CLASS_BLOCK_CTX: OOP = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_POINT` is never used [INFO] [stdout] --> src/std_ptrs.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const CLASS_POINT: OOP = 13; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_LG_POS_INT` is never used [INFO] [stdout] --> src/std_ptrs.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const CLASS_LG_POS_INT: OOP = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_DISPLAY_BITMAP` is never used [INFO] [stdout] --> src/std_ptrs.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const CLASS_DISPLAY_BITMAP: OOP = 15; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_SEMA` is never used [INFO] [stdout] --> src/std_ptrs.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CLASS_SEMA: OOP = 19; /* not defined in G/R */ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_CHARACTER` is never used [INFO] [stdout] --> src/std_ptrs.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const CLASS_CHARACTER: OOP = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_FORM` is never used [INFO] [stdout] --> src/std_ptrs.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const CLASS_FORM: OOP = 0x629; /* required for BitBlt */ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | return Err("not implemented, see prAddSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 7 - return Err("not implemented, see prAddSI"); [INFO] [stdout] 7 + Err("not implemented, see prAddSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | return Err("not implemented, see prSubSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Err("not implemented, see prSubSI"); [INFO] [stdout] 11 + Err("not implemented, see prSubSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | return Err("not implemented, see prMultSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 - return Err("not implemented, see prMultSI"); [INFO] [stdout] 57 + Err("not implemented, see prMultSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return Err("not implemented, see prModSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return Err("not implemented, see prModSI"); [INFO] [stdout] 86 + Err("not implemented, see prModSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | return Err("not implemented, see mtPkSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return Err("not implemented, see mtPkSI"); [INFO] [stdout] 90 + Err("not implemented, see mtPkSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return Err("not implemented, see prBitShSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Err("not implemented, see prBitShSI"); [INFO] [stdout] 94 + Err("not implemented, see prBitShSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | return Err("not implemented, see prDivSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return Err("not implemented, see prDivSI"); [INFO] [stdout] 98 + Err("not implemented, see prDivSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | return Err("not implemented, see prQuoSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 102 - return Err("not implemented, see prQuoSI"); [INFO] [stdout] 102 + Err("not implemented, see prQuoSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | return Err("not implemented, see prAndSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 106 - return Err("not implemented, see prAndSI"); [INFO] [stdout] 106 + Err("not implemented, see prAndSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | return Err("not implemented, see prOrSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return Err("not implemented, see prOrSI"); [INFO] [stdout] 110 + Err("not implemented, see prOrSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return Err("not implemented, see prXorSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Err("not implemented, see prXorSI"); [INFO] [stdout] 114 + Err("not implemented, see prXorSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:75:37 [INFO] [stdout] | [INFO] [stdout] 75 | let ac: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.active_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.active_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] = note: `#[warn(clippy::transmute_ptr_to_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:94:37 [INFO] [stdout] | [INFO] [stdout] 94 | let hc: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.home_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.home_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interp.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | if !rv.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rv.is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rv` after checking its variant with `is_ok` [INFO] [stdout] --> src/interp.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 289 | if !rv.is_ok() { [INFO] [stdout] | ---------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 293 | rv.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/interp.rs:375:43 [INFO] [stdout] | [INFO] [stdout] 375 | unsafe { self.sp = self.sp.offset(-1 * n) } [INFO] [stdout] | ^^^^^^ help: consider using: `-n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] = note: `#[warn(clippy::neg_multiply)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:409:37 [INFO] [stdout] | [INFO] [stdout] 409 | let hc: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.home_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.home_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interp.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | return (self.method, self.prim_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 463 - return (self.method, self.prim_index); [INFO] [stdout] 463 + (self.method, self.prim_index) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interp.rs:489:16 [INFO] [stdout] | [INFO] [stdout] 489 | if !rv.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rv.is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rv` after checking its variant with `is_ok` [INFO] [stdout] --> src/interp.rs:490:58 [INFO] [stdout] | [INFO] [stdout] 489 | if !rv.is_ok() { [INFO] [stdout] | ---------- the check is happening here [INFO] [stdout] 490 | println!("primitive returned error: {}", rv.unwrap_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/snapshot.rs:22:65 [INFO] [stdout] | [INFO] [stdout] 22 | Err(why) => panic!("couldn't open {}: {}", display, why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&mut context::Context`) [INFO] [stdout] --> src/interp.rs:521:50 [INFO] [stdout] | [INFO] [stdout] 521 | let abs_new_ctx: &mut Context = unsafe { mem::transmute(self.om.addr_of_oop(new_ctx)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.om.addr_of_oop(new_ctx) as *mut context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interp.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 672 | (self.hdr_ext(m) as u8) & 0xFF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(self.hdr_ext(m) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OOP` contains a capitalized acronym [INFO] [stdout] --> src/om.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type OOP = u32; [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Oop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/om.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | (nbytes + mem::size_of::() - 1) / mem::size_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `nbytes.div_ceil(mem::size_of::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return self.classes[oop as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return self.classes[oop as usize]; [INFO] [stdout] 104 + self.classes[oop as usize] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | return self.get_size(oop) / mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - return self.get_size(oop) / mem::size_of::(); [INFO] [stdout] 170 + self.get_size(oop) / mem::size_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | self.object_space.offset(object_space.len() as isize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] = note: `#[warn(clippy::ptr_offset_with_cast)]` on by default [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 207 - self.object_space.offset(object_space.len() as isize) [INFO] [stdout] 207 + self.object_space.add(object_space.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | / self.object_space [INFO] [stdout] 254 | | .offset((object_space_length / mem::size_of::()) as isize) [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 254 - .offset((object_space_length / mem::size_of::()) as isize) [INFO] [stdout] 254 + .add((object_space_length / mem::size_of::())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return NON_PTR; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return NON_PTR; [INFO] [stdout] 433 + NON_PTR [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:397:37 [INFO] [stdout] | [INFO] [stdout] 397 | let oop_addr = unsafe { self.location_addr(oop).offset(wsize as isize) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 397 - let oop_addr = unsafe { self.location_addr(oop).offset(wsize as isize) }; [INFO] [stdout] 397 + let oop_addr = unsafe { self.location_addr(oop).add(wsize) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/om.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | let wsize = ((nbytes + mem::size_of::() - 1) / mem::size_of::()) as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `nbytes.div_ceil(mem::size_of::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:572:27 [INFO] [stdout] | [INFO] [stdout] 572 | let val = self.location_addr(root).offset(offset as isize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 572 - let val = self.location_addr(root).offset(offset as isize); [INFO] [stdout] 572 + let val = self.location_addr(root).add(offset); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:611:9 [INFO] [stdout] | [INFO] [stdout] 611 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 611 - return 0; [INFO] [stdout] 611 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:639:39 [INFO] [stdout] | [INFO] [stdout] 639 | ... let val = self.addr_of_oop(oop).offset(offset as isize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 639 - let val = self.addr_of_oop(oop).offset(offset as isize); [INFO] [stdout] 639 + let val = self.addr_of_oop(oop).add(offset); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/snapshot.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | let mut file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg_selector` [INFO] [stdout] --> src/interp.rs:557:21 [INFO] [stdout] | [INFO] [stdout] 557 | let msg_selector = self.msg_selector; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_selector` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `object_space` [INFO] [stdout] --> src/snapshot.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | for i in 0..object_space_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 59 - for i in 0..object_space_length { [INFO] [stdout] 59 + for in object_space.iter_mut().take(object_space_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `SeekFrom::Current` to start from current position [INFO] [stdout] --> src/snapshot.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | let mut tell = file.seek(SeekFrom::Current(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `file.stream_position()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#seek_from_current [INFO] [stdout] = note: `#[warn(clippy::seek_from_current)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `SeekFrom::Current` to start from current position [INFO] [stdout] --> src/snapshot.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | tell = file.seek(SeekFrom::Current(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `file.stream_position()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#seek_from_current [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `o` is only used to index `offsets` [INFO] [stdout] --> src/snapshot.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | for o in 0..object_table_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 71 - for o in 0..object_table_length { [INFO] [stdout] 71 + for in offsets.iter_mut().take(object_table_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | let _image = snapshot::load("st80.image", &mut om); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 25 - let _image = snapshot::load("st80.image", &mut om); [INFO] [stdout] 25 + snapshot::load("st80.image", &mut om); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FSENDER_CALLER` should have a snake case name [INFO] [stdout] --> src/context.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub FSENDER_CALLER: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fsender_caller` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FINSTR_PTR` should have a snake case name [INFO] [stdout] --> src/context.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub FINSTR_PTR: OOP, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `finstr_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FSTACK_PTR` should have a snake case name [INFO] [stdout] --> src/context.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub FSTACK_PTR: OOP, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `fstack_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FMETHOD_BLOCK_ARGC` should have a snake case name [INFO] [stdout] --> src/context.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub FMETHOD_BLOCK_ARGC: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fmethod_block_argc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FINIT_IP` should have a snake case name [INFO] [stdout] --> src/context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub FINIT_IP: OOP, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `finit_ip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FRECEIVER_HOME` should have a snake case name [INFO] [stdout] --> src/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub FRECEIVER_HOME: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `freceiver_home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FTEMP_FRAME` should have a snake case name [INFO] [stdout] --> src/context.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub FTEMP_FRAME: [OOP; 32], [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `ftemp_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/interp.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | ip: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/interp.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | sp: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/interp.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(om: &'a mut OM) -> Interpreter { [INFO] [stdout] | -- ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named 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: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(om: &'a mut OM) -> Interpreter<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/om.rs:83:38 [INFO] [stdout] | [INFO] [stdout] 83 | object_space: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/om.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | mem::forget(object_space); [INFO] [stdout] | ^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut std::vec::Vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(forgetting_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 211 - mem::forget(object_space); [INFO] [stdout] 211 + let _ = object_space; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `defaultEntry` should have a snake case name [INFO] [stdout] --> src/om.rs:464:13 [INFO] [stdout] | [INFO] [stdout] 464 | let defaultEntry = if ptrs { NIL_PTR } else { 0 }; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `default_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_STRING` should have a snake case name [INFO] [stdout] --> src/om.rs:487:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `class_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_ARRAY` should have a snake case name [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_FLOAT` should have a snake case name [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_METH_CTX` should have a snake case name [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_meth_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_BLOCK_CTX` should have a snake case name [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_block_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_POINT` should have a snake case name [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_LG_POS_INT` should have a snake case name [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_lg_pos_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_DISPLAY_BITMAP` should have a snake case name [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_display_bitmap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_MSG` should have a snake case name [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `class_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_SEMA` should have a snake case name [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `class_sema` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_CHARACTER` should have a snake case name [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_FORM` should have a snake case name [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `class_form` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/snapshot.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | file.seek(SeekFrom::Start(512)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = file.seek(SeekFrom::Start(512)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches any value [INFO] [stdout] ... [INFO] [stdout] 496 | CLASS_COMPILED_METHOD => print!("(compiled_method)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match against the value of constant `CLASS_STRING` instead of introducing a new catch-all binding [INFO] [stdout] | [INFO] [stdout] 487 | std_ptrs::CLASS_STRING => print!("(string)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/om.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | _ => print!("(unknown)"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/om.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 486 | CLASS_SMALL_INTEGER => print!("(smi)"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 500 | _ => print!("(unknown)"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_STRING` [INFO] [stdout] --> src/om.rs:487:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_STRING` [INFO] [stdout] | [INFO] [stdout] 487 | std_ptrs::CLASS_STRING => print!("(string)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 487 | _CLASS_STRING => print!("(string)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_ARRAY` [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_ARRAY` [INFO] [stdout] | [INFO] [stdout] 488 | std_ptrs::CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 488 | _CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_FLOAT` [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_FLOAT` [INFO] [stdout] | [INFO] [stdout] 489 | std_ptrs::CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 489 | _CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_METH_CTX` [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_METH_CTX` [INFO] [stdout] | [INFO] [stdout] 490 | std_ptrs::CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 490 | _CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_BLOCK_CTX` [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_BLOCK_CTX` [INFO] [stdout] | [INFO] [stdout] 491 | std_ptrs::CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 491 | _CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_POINT` [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_POINT` [INFO] [stdout] | [INFO] [stdout] 492 | std_ptrs::CLASS_POINT => print!("(point)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 492 | _CLASS_POINT => print!("(point)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_LG_POS_INT` [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_LG_POS_INT` [INFO] [stdout] | [INFO] [stdout] 493 | std_ptrs::CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 493 | _CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_DISPLAY_BITMAP` [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_DISPLAY_BITMAP` [INFO] [stdout] | [INFO] [stdout] 494 | std_ptrs::CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 494 | _CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_MSG` [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_MSG` [INFO] [stdout] | [INFO] [stdout] 495 | std_ptrs::CLASS_MSG => print!("(message)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 495 | _CLASS_MSG => print!("(message)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_SEMA` [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_SEMA` [INFO] [stdout] | [INFO] [stdout] 497 | std_ptrs::CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 497 | _CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_CHARACTER` [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_CHARACTER` [INFO] [stdout] | [INFO] [stdout] 498 | std_ptrs::CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 498 | _CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CLASS_FORM` [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `CLASS_FORM` [INFO] [stdout] | [INFO] [stdout] 499 | std_ptrs::CLASS_FORM => print!("(form)"), [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 499 | _CLASS_FORM => print!("(form)"), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SENDER` is never used [INFO] [stdout] --> src/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const SENDER: isize = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSTR_PTR` is never used [INFO] [stdout] --> src/context.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const INSTR_PTR: isize = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_PTR` is never used [INFO] [stdout] --> src/context.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const STACK_PTR: isize = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METHOD` is never used [INFO] [stdout] --> src/context.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const METHOD: isize = 3; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CALLER` is never used [INFO] [stdout] --> src/context.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const CALLER: isize = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_ARGC` is never used [INFO] [stdout] --> src/context.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const BLOCK_ARGC: isize = 3; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INIT_IP` is never used [INFO] [stdout] --> src/context.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const INIT_IP: isize = 4; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HOME` is never used [INFO] [stdout] --> src/context.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const HOME: isize = 5; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEAP_SPACE_STOP` is never used [INFO] [stdout] --> src/om.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const HEAP_SPACE_STOP: usize = OM_SIZE - 1; /* G/R p.658 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LITERAL_START` is never used [INFO] [stdout] --> src/om.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static LITERAL_START: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPER_CLASS` is never used [INFO] [stdout] --> src/om.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const SUPER_CLASS: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSTANCE_SPEC` is never used [INFO] [stdout] --> src/om.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const INSTANCE_SPEC: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dump_ot` and `dump_oop` are never used [INFO] [stdout] --> src/om.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl OM { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 475 | pub fn dump_ot(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn dump_oop(&self, oop: OOP) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROC_LISTS` is never used [INFO] [stdout] --> src/process.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const PROC_LISTS: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIRST_LINK` is never used [INFO] [stdout] --> src/process.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const FIRST_LINK: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_LINK` is never used [INFO] [stdout] --> src/process.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const LAST_LINK: u8 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXCESS_SIGNALS` is never used [INFO] [stdout] --> src/process.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const EXCESS_SIGNALS: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEXT_LINK` is never used [INFO] [stdout] --> src/process.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NEXT_LINK: u8 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIORITY` is never used [INFO] [stdout] --> src/process.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const PRIORITY: u8 = 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MY_LIST` is never used [INFO] [stdout] --> src/process.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const MY_LIST: u8 = 3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CANNOT_RETURN` is never used [INFO] [stdout] --> src/std_ptrs.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const CANNOT_RETURN: OOP = 22; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAR_TABLE` is never used [INFO] [stdout] --> src/std_ptrs.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const CHAR_TABLE: OOP = 25; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_STRING` is never used [INFO] [stdout] --> src/std_ptrs.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const CLASS_STRING: OOP = 7; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_FLOAT` is never used [INFO] [stdout] --> src/std_ptrs.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const CLASS_FLOAT: OOP = 10; /* not defined in G/R */ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_BLOCK_CTX` is never used [INFO] [stdout] --> src/std_ptrs.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const CLASS_BLOCK_CTX: OOP = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_POINT` is never used [INFO] [stdout] --> src/std_ptrs.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const CLASS_POINT: OOP = 13; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_LG_POS_INT` is never used [INFO] [stdout] --> src/std_ptrs.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const CLASS_LG_POS_INT: OOP = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_DISPLAY_BITMAP` is never used [INFO] [stdout] --> src/std_ptrs.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const CLASS_DISPLAY_BITMAP: OOP = 15; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_SEMA` is never used [INFO] [stdout] --> src/std_ptrs.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CLASS_SEMA: OOP = 19; /* not defined in G/R */ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_CHARACTER` is never used [INFO] [stdout] --> src/std_ptrs.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const CLASS_CHARACTER: OOP = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLASS_FORM` is never used [INFO] [stdout] --> src/std_ptrs.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const CLASS_FORM: OOP = 0x629; /* required for BitBlt */ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | return Err("not implemented, see prAddSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 7 - return Err("not implemented, see prAddSI"); [INFO] [stdout] 7 + Err("not implemented, see prAddSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | return Err("not implemented, see prSubSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Err("not implemented, see prSubSI"); [INFO] [stdout] 11 + Err("not implemented, see prSubSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | return Err("not implemented, see prMultSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 - return Err("not implemented, see prMultSI"); [INFO] [stdout] 57 + Err("not implemented, see prMultSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return Err("not implemented, see prModSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return Err("not implemented, see prModSI"); [INFO] [stdout] 86 + Err("not implemented, see prModSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | return Err("not implemented, see mtPkSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return Err("not implemented, see mtPkSI"); [INFO] [stdout] 90 + Err("not implemented, see mtPkSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return Err("not implemented, see prBitShSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Err("not implemented, see prBitShSI"); [INFO] [stdout] 94 + Err("not implemented, see prBitShSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | return Err("not implemented, see prDivSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return Err("not implemented, see prDivSI"); [INFO] [stdout] 98 + Err("not implemented, see prDivSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | return Err("not implemented, see prQuoSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 102 - return Err("not implemented, see prQuoSI"); [INFO] [stdout] 102 + Err("not implemented, see prQuoSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | return Err("not implemented, see prAndSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 106 - return Err("not implemented, see prAndSI"); [INFO] [stdout] 106 + Err("not implemented, see prAndSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | return Err("not implemented, see prOrSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return Err("not implemented, see prOrSI"); [INFO] [stdout] 110 + Err("not implemented, see prOrSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/int_prim.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return Err("not implemented, see prXorSI"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Err("not implemented, see prXorSI"); [INFO] [stdout] 114 + Err("not implemented, see prXorSI") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:75:37 [INFO] [stdout] | [INFO] [stdout] 75 | let ac: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.active_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.active_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] = note: `#[warn(clippy::transmute_ptr_to_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:94:37 [INFO] [stdout] | [INFO] [stdout] 94 | let hc: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.home_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.home_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interp.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | if !rv.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rv.is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rv` after checking its variant with `is_ok` [INFO] [stdout] --> src/interp.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 289 | if !rv.is_ok() { [INFO] [stdout] | ---------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 293 | rv.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/interp.rs:375:43 [INFO] [stdout] | [INFO] [stdout] 375 | unsafe { self.sp = self.sp.offset(-1 * n) } [INFO] [stdout] | ^^^^^^ help: consider using: `-n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] = note: `#[warn(clippy::neg_multiply)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&context::Context`) [INFO] [stdout] --> src/interp.rs:409:37 [INFO] [stdout] | [INFO] [stdout] 409 | let hc: &Context = unsafe { mem::transmute(self.om.addr_of_oop(self.home_context)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.om.addr_of_oop(self.home_context) as *const context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/interp.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | return (self.method, self.prim_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 463 - return (self.method, self.prim_index); [INFO] [stdout] 463 + (self.method, self.prim_index) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interp.rs:489:16 [INFO] [stdout] | [INFO] [stdout] 489 | if !rv.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rv.is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rv` after checking its variant with `is_ok` [INFO] [stdout] --> src/interp.rs:490:58 [INFO] [stdout] | [INFO] [stdout] 489 | if !rv.is_ok() { [INFO] [stdout] | ---------- the check is happening here [INFO] [stdout] 490 | println!("primitive returned error: {}", rv.unwrap_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute from a pointer type (`*mut u32`) to a reference type (`&mut context::Context`) [INFO] [stdout] --> src/interp.rs:521:50 [INFO] [stdout] | [INFO] [stdout] 521 | let abs_new_ctx: &mut Context = unsafe { mem::transmute(self.om.addr_of_oop(new_ctx)) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.om.addr_of_oop(new_ctx) as *mut context::Context)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/interp.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 672 | (self.hdr_ext(m) as u8) & 0xFF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(self.hdr_ext(m) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OOP` contains a capitalized acronym [INFO] [stdout] --> src/om.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type OOP = u32; [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Oop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/om.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | (nbytes + mem::size_of::() - 1) / mem::size_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `nbytes.div_ceil(mem::size_of::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return self.classes[oop as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return self.classes[oop as usize]; [INFO] [stdout] 104 + self.classes[oop as usize] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | return self.get_size(oop) / mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - return self.get_size(oop) / mem::size_of::(); [INFO] [stdout] 170 + self.get_size(oop) / mem::size_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | self.object_space.offset(object_space.len() as isize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] = note: `#[warn(clippy::ptr_offset_with_cast)]` on by default [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 207 - self.object_space.offset(object_space.len() as isize) [INFO] [stdout] 207 + self.object_space.add(object_space.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | / self.object_space [INFO] [stdout] 254 | | .offset((object_space_length / mem::size_of::()) as isize) [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 254 - .offset((object_space_length / mem::size_of::()) as isize) [INFO] [stdout] 254 + .add((object_space_length / mem::size_of::())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return NON_PTR; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return NON_PTR; [INFO] [stdout] 433 + NON_PTR [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:397:37 [INFO] [stdout] | [INFO] [stdout] 397 | let oop_addr = unsafe { self.location_addr(oop).offset(wsize as isize) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 397 - let oop_addr = unsafe { self.location_addr(oop).offset(wsize as isize) }; [INFO] [stdout] 397 + let oop_addr = unsafe { self.location_addr(oop).add(wsize) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/om.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | let wsize = ((nbytes + mem::size_of::() - 1) / mem::size_of::()) as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `nbytes.div_ceil(mem::size_of::())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:572:27 [INFO] [stdout] | [INFO] [stdout] 572 | let val = self.location_addr(root).offset(offset as isize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 572 - let val = self.location_addr(root).offset(offset as isize); [INFO] [stdout] 572 + let val = self.location_addr(root).add(offset); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/om.rs:611:9 [INFO] [stdout] | [INFO] [stdout] 611 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 611 - return 0; [INFO] [stdout] 611 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/om.rs:639:39 [INFO] [stdout] | [INFO] [stdout] 639 | ... let val = self.addr_of_oop(oop).offset(offset as isize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 639 - let val = self.addr_of_oop(oop).offset(offset as isize); [INFO] [stdout] 639 + let val = self.addr_of_oop(oop).add(offset); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/snapshot.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | let mut file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `object_space` [INFO] [stdout] --> src/snapshot.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | for i in 0..object_space_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 59 - for i in 0..object_space_length { [INFO] [stdout] 59 + for in object_space.iter_mut().take(object_space_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `SeekFrom::Current` to start from current position [INFO] [stdout] --> src/snapshot.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | let mut tell = file.seek(SeekFrom::Current(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `file.stream_position()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#seek_from_current [INFO] [stdout] = note: `#[warn(clippy::seek_from_current)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `SeekFrom::Current` to start from current position [INFO] [stdout] --> src/snapshot.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | tell = file.seek(SeekFrom::Current(0)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `file.stream_position()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#seek_from_current [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `o` is only used to index `offsets` [INFO] [stdout] --> src/snapshot.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | for o in 0..object_table_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 71 - for o in 0..object_table_length { [INFO] [stdout] 71 + for in offsets.iter_mut().take(object_table_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | let _image = snapshot::load("st80.image", &mut om); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 25 - let _image = snapshot::load("st80.image", &mut om); [INFO] [stdout] 25 + snapshot::load("st80.image", &mut om); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FSENDER_CALLER` should have a snake case name [INFO] [stdout] --> src/context.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub FSENDER_CALLER: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fsender_caller` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FINSTR_PTR` should have a snake case name [INFO] [stdout] --> src/context.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub FINSTR_PTR: OOP, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `finstr_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FSTACK_PTR` should have a snake case name [INFO] [stdout] --> src/context.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub FSTACK_PTR: OOP, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `fstack_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FMETHOD_BLOCK_ARGC` should have a snake case name [INFO] [stdout] --> src/context.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub FMETHOD_BLOCK_ARGC: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `fmethod_block_argc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FINIT_IP` should have a snake case name [INFO] [stdout] --> src/context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub FINIT_IP: OOP, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `finit_ip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FRECEIVER_HOME` should have a snake case name [INFO] [stdout] --> src/context.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub FRECEIVER_HOME: OOP, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `freceiver_home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FTEMP_FRAME` should have a snake case name [INFO] [stdout] --> src/context.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub FTEMP_FRAME: [OOP; 32], [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `ftemp_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/interp.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | ip: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/interp.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | sp: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/interp.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(om: &'a mut OM) -> Interpreter { [INFO] [stdout] | -- ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named 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: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(om: &'a mut OM) -> Interpreter<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::vec::Vec` is dropped at end of statement [INFO] [stdout] --> src/om.rs:83:38 [INFO] [stdout] | [INFO] [stdout] 83 | object_space: vec![0; 1].as_mut_ptr(), [INFO] [stdout] | ---------- ^^^^^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::vec::Vec` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::vec::Vec` to a variable such that it outlives the pointer returned by `as_mut_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/om.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | mem::forget(object_space); [INFO] [stdout] | ^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut std::vec::Vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(forgetting_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 211 - mem::forget(object_space); [INFO] [stdout] 211 + let _ = object_space; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `defaultEntry` should have a snake case name [INFO] [stdout] --> src/om.rs:464:13 [INFO] [stdout] | [INFO] [stdout] 464 | let defaultEntry = if ptrs { NIL_PTR } else { 0 }; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `default_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_STRING` should have a snake case name [INFO] [stdout] --> src/om.rs:487:17 [INFO] [stdout] | [INFO] [stdout] 487 | CLASS_STRING => print!("(string)"), [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `class_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_ARRAY` should have a snake case name [INFO] [stdout] --> src/om.rs:488:17 [INFO] [stdout] | [INFO] [stdout] 488 | CLASS_ARRAY => print!("(array)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_FLOAT` should have a snake case name [INFO] [stdout] --> src/om.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | CLASS_FLOAT => print!("(float)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_METH_CTX` should have a snake case name [INFO] [stdout] --> src/om.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | CLASS_METH_CTX => print!("(meth_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_meth_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_BLOCK_CTX` should have a snake case name [INFO] [stdout] --> src/om.rs:491:17 [INFO] [stdout] | [INFO] [stdout] 491 | CLASS_BLOCK_CTX => print!("(block_ctx)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_block_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_POINT` should have a snake case name [INFO] [stdout] --> src/om.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | CLASS_POINT => print!("(point)"), [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `class_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_LG_POS_INT` should have a snake case name [INFO] [stdout] --> src/om.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | CLASS_LG_POS_INT => print!("(lg_pos_int)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_lg_pos_int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_DISPLAY_BITMAP` should have a snake case name [INFO] [stdout] --> src/om.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | CLASS_DISPLAY_BITMAP => print!("(display_bitmap)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_display_bitmap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_MSG` should have a snake case name [INFO] [stdout] --> src/om.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | CLASS_MSG => print!("(message)"), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `class_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_SEMA` should have a snake case name [INFO] [stdout] --> src/om.rs:497:17 [INFO] [stdout] | [INFO] [stdout] 497 | CLASS_SEMA => print!("(sema)"), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `class_sema` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_CHARACTER` should have a snake case name [INFO] [stdout] --> src/om.rs:498:17 [INFO] [stdout] | [INFO] [stdout] 498 | CLASS_CHARACTER => print!("(character)"), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `class_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CLASS_FORM` should have a snake case name [INFO] [stdout] --> src/om.rs:499:17 [INFO] [stdout] | [INFO] [stdout] 499 | CLASS_FORM => print!("(form)"), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `class_form` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/snapshot.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | file.seek(SeekFrom::Start(512)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = file.seek(SeekFrom::Start(512)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.37s [INFO] running `Command { std: "docker" "inspect" "c1af52d398a3c83b158e5e39c679b98e9bddbf455a0999ee96d79735bf9e9a20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c1af52d398a3c83b158e5e39c679b98e9bddbf455a0999ee96d79735bf9e9a20", kill_on_drop: false }` [INFO] [stdout] c1af52d398a3c83b158e5e39c679b98e9bddbf455a0999ee96d79735bf9e9a20