[INFO] cloning repository https://github.com/gmadrid/rzm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gmadrid/rzm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmadrid%2Frzm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmadrid%2Frzm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d896e789f7381f7a699ce67f57f9bccbfb82e84f [INFO] checking gmadrid/rzm/d896e789f7381f7a699ce67f57f9bccbfb82e84f against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmadrid%2Frzm" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gmadrid/rzm on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/gmadrid/rzm [INFO] finished tweaking git repo https://github.com/gmadrid/rzm [INFO] tweaked toml for git repo https://github.com/gmadrid/rzm written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/gmadrid/rzm 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded byteorder v0.5.3 [INFO] [stderr] Downloaded ncurses v5.84.0 [INFO] [stderr] Downloaded clap v2.16.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dc5f9464324cb76f52b5dfdea296889c692817540fb6913a7850a74c2d79f9d9 [INFO] running `Command { std: "docker" "start" "-a" "dc5f9464324cb76f52b5dfdea296889c692817540fb6913a7850a74c2d79f9d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dc5f9464324cb76f52b5dfdea296889c692817540fb6913a7850a74c2d79f9d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc5f9464324cb76f52b5dfdea296889c692817540fb6913a7850a74c2d79f9d9", kill_on_drop: false }` [INFO] [stdout] dc5f9464324cb76f52b5dfdea296889c692817540fb6913a7850a74c2d79f9d9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2eaf5a1fc6af0fb81f412084cf7c7dddc4cdd01edd59b5d8a2ab49c6db7243ca [INFO] running `Command { std: "docker" "start" "-a" "2eaf5a1fc6af0fb81f412084cf7c7dddc4cdd01edd59b5d8a2ab49c6db7243ca", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking libc v0.2.17 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking regex-syntax v0.3.9 [INFO] [stderr] Checking utf8-ranges v0.1.3 [INFO] [stderr] Checking strsim v0.5.1 [INFO] [stderr] Checking ansi_term v0.9.0 [INFO] [stderr] Checking unicode-width v0.1.3 [INFO] [stderr] Checking vec_map v0.6.0 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Checking unicode-segmentation v0.1.2 [INFO] [stderr] Checking log v0.3.6 [INFO] [stderr] Checking byteorder v0.5.3 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking term_size v0.2.1 [INFO] [stderr] Checking ncurses v5.84.0 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking clap v2.16.4 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking rzm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/zmachine/ops/branch.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | ((word | 0b1100000000000000) as i16) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - ((word | 0b1100000000000000) as i16) [INFO] [stdout] 18 + (word | 0b1100000000000000) as i16 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/ops/text.rs:81:24 [INFO] [stdout] | [INFO] [stdout] 81 | 0x01u16...0x03u16 => { [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/ops/text.rs:175:7 [INFO] [stdout] | [INFO] [stdout] 175 | 32...126 => { [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: unused import: `super::text::show_status_0x0c` [INFO] [stdout] --> src/zmachine/ops/mod.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | pub use super::text::show_status_0x0c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | fn write_status_line(&self, &str); [INFO] [stdout] | ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:97:36 [INFO] [stdout] | [INFO] [stdout] 97 | fn write_main_window_char(&self, u16); [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:98:31 [INFO] [stdout] | [INFO] [stdout] 98 | fn write_main_window(&self, &str); [INFO] [stdout] | ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/vm/vm.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | 0x01...0x0f => VariableRef::Local(encoded - 0x01), [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/zmachine/vm/vm.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | 0x10...0xff => VariableRef::Global(encoded - 0x10), [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] error[E0432]: unresolved import `zmachine::vm::object_table::ZPropertyAccess` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:4:57 [INFO] [stdout] | [INFO] [stdout] 4 | use zmachine::vm::object_table::{ZObject, ZObjectTable, ZPropertyAccess, ZPropertyTable}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ no `ZPropertyAccess` in `zmachine::vm::object_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `ObjStorage` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:72:3 [INFO] [stdout] | [INFO] [stdout] 72 | type ObjStorage = MockObjectTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `PropertyAccess` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:74:3 [INFO] [stdout] | [INFO] [stdout] 74 | type PropertyAccess = MockPropertyTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `object_storage` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:161:3 [INFO] [stdout] | [INFO] [stdout] 161 | / fn object_storage(&self) -> &Self::ObjStorage { [INFO] [stdout] 162 | | &self.object_storage [INFO] [stdout] 163 | | } [INFO] [stdout] | |___^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `object_storage_mut` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:165:3 [INFO] [stdout] | [INFO] [stdout] 165 | / fn object_storage_mut(&mut self) -> &mut Self::ObjStorage { [INFO] [stdout] 166 | | &mut self.object_storage [INFO] [stdout] 167 | | } [INFO] [stdout] | |___^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `property_storage` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:169:3 [INFO] [stdout] | [INFO] [stdout] 169 | / fn property_storage(&self) -> &Self::PropertyAccess { [INFO] [stdout] 170 | | &self.property_storage [INFO] [stdout] 171 | | } [INFO] [stdout] | |___^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0407]: method `property_storage_mut` is not a member of trait `VM` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:173:3 [INFO] [stdout] | [INFO] [stdout] 173 | / fn property_storage_mut(&mut self) -> &mut Self::PropertyAccess { [INFO] [stdout] 174 | | &mut self.property_storage [INFO] [stdout] 175 | | } [INFO] [stdout] | |___^ not a member of trait `VM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `DataAccess` is not a member of trait `ZObjectTable` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:98:3 [INFO] [stdout] | [INFO] [stdout] 98 | type DataAccess = MockObjectTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `ZObjectTable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `PropertyAccess` is not a member of trait `ZObjectTable` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:100:3 [INFO] [stdout] | [INFO] [stdout] 100 | type PropertyAccess = MockPropertyTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `ZObjectTable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `DataAccess` is not a member of trait `ZObject` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:112:3 [INFO] [stdout] | [INFO] [stdout] 112 | type DataAccess = MockObjectTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `ZObject` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `PropertyAccess` is not a member of trait `ZPropertyTable` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:170:3 [INFO] [stdout] | [INFO] [stdout] 170 | type PropertyAccess = MockPropertyTableStorage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `ZPropertyTable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/zmachine/ops/branch.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | ((word | 0b1100000000000000) as i16) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - ((word | 0b1100000000000000) as i16) [INFO] [stdout] 18 + (word | 0b1100000000000000) as i16 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VariableRef` [INFO] [stdout] --> src/zmachine/ops/branch.rs:183:26 [INFO] [stdout] | [INFO] [stdout] 183 | use zmachine::vm::{VM, VariableRef}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `result::Result` [INFO] [stdout] --> src/zmachine/ops/load.rs:110:7 [INFO] [stdout] | [INFO] [stdout] 110 | use result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/ops/text.rs:81:24 [INFO] [stdout] | [INFO] [stdout] 81 | 0x01u16...0x03u16 => { [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/ops/text.rs:175:7 [INFO] [stdout] | [INFO] [stdout] 175 | 32...126 => { [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: unused imports: `BytePtr` and `Memory` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use zmachine::vm::{BytePtr, Memory, RawPtr, VM, VariableRef, WordPtr}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::text::show_status_0x0c` [INFO] [stdout] --> src/zmachine/ops/mod.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | pub use super::text::show_status_0x0c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RawPtr` [INFO] [stdout] --> src/zmachine/vm/memory.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | use super::super::ptrs::{BytePtr, RawPtr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | fn write_status_line(&self, &str); [INFO] [stdout] | ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:97:36 [INFO] [stdout] | [INFO] [stdout] 97 | fn write_main_window_char(&self, u16); [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/zmachine/vm/vm.rs:98:31 [INFO] [stdout] | [INFO] [stdout] 98 | fn write_main_window(&self, &str); [INFO] [stdout] | ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/zmachine/vm/vm.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | 0x01...0x0f => VariableRef::Local(encoded - 0x01), [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/zmachine/vm/vm.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | 0x10...0xff => VariableRef::Global(encoded - 0x10), [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: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:232:40 [INFO] [stdout] | [INFO] [stdout] 232 | ... op_func: &Fn(&mut Self, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 | op_func: &dyn Fn(&mut Self, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:282:35 [INFO] [stdout] | [INFO] [stdout] 282 | op_func: &Fn(&mut Self, Operand, Operand) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 | op_func: &dyn Fn(&mut Self, Operand, Operand) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:292:41 [INFO] [stdout] | [INFO] [stdout] 292 | ... op_func: &Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | op_func: &dyn Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `write_memory_u8`, `num_dict_entries`, `dict_entry`, `rand`, `write_status_line`, `screen_width`, `write_main_window_char`, `write_main_window`, `read_line`, `save` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | impl VM for TestVM { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ missing `write_memory_u8`, `num_dict_entries`, `dict_entry`, `rand`, `write_status_line`, `screen_width`, `write_main_window_char`, `write_main_window`, `read_line`, `save` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/vm.rs:87:3 [INFO] [stdout] | [INFO] [stdout] 87 | fn write_memory_u8(&mut self, ptr: T, val: u8) -> Result<()> where T: Into; [INFO] [stdout] | -------------------------------------------------------------------------------------- `write_memory_u8` from trait [INFO] [stdout] ... [INFO] [stdout] 91 | fn num_dict_entries(&self) -> u16; [INFO] [stdout] | ---------------------------------- `num_dict_entries` from trait [INFO] [stdout] 92 | fn dict_entry(&self, number: u16) -> BytePtr; [INFO] [stdout] | --------------------------------------------- `dict_entry` from trait [INFO] [stdout] 93 | [INFO] [stdout] 94 | fn rand(&mut self, range: u16) -> u16; [INFO] [stdout] | -------------------------------------- `rand` from trait [INFO] [stdout] 95 | fn write_status_line(&self, &str); [INFO] [stdout] | ---------------------------------- `write_status_line` from trait [INFO] [stdout] 96 | fn screen_width(&self) -> u16; [INFO] [stdout] | ------------------------------ `screen_width` from trait [INFO] [stdout] 97 | fn write_main_window_char(&self, u16); [INFO] [stdout] | -------------------------------------- `write_main_window_char` from trait [INFO] [stdout] 98 | fn write_main_window(&self, &str); [INFO] [stdout] | ---------------------------------- `write_main_window` from trait [INFO] [stdout] 99 | fn read_line(&self) -> Result; [INFO] [stdout] | -------------------------------------- `read_line` from trait [INFO] [stdout] ... [INFO] [stdout] 103 | fn save(&self) -> Result<()>; [INFO] [stdout] | ----------------------------- `save` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `ObjStorage` not found for `Self` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:161:38 [INFO] [stdout] | [INFO] [stdout] 161 | fn object_storage(&self) -> &Self::ObjStorage { [INFO] [stdout] | ^^^^^^^^^^ associated type `ObjStorage` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `ObjStorage` not found for `Self` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:165:50 [INFO] [stdout] | [INFO] [stdout] 165 | fn object_storage_mut(&mut self) -> &mut Self::ObjStorage { [INFO] [stdout] | ^^^^^^^^^^ associated type `ObjStorage` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `PropertyAccess` not found for `Self` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:169:40 [INFO] [stdout] | [INFO] [stdout] 169 | fn property_storage(&self) -> &Self::PropertyAccess { [INFO] [stdout] | ^^^^^^^^^^^^^^ associated type `PropertyAccess` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `PropertyAccess` not found for `Self` [INFO] [stdout] --> src/zmachine/ops/testvm.rs:173:52 [INFO] [stdout] | [INFO] [stdout] 173 | fn property_storage_mut(&mut self) -> &mut Self::PropertyAccess { [INFO] [stdout] | ^^^^^^^^^^^^^^ associated type `PropertyAccess` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `DataAccess` not found for `Self` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:106:73 [INFO] [stdout] | [INFO] [stdout] 106 | fn default_property_value(&self, property_number: u16, access: &Self::DataAccess) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ associated type `DataAccess` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `default_property_value` has 3 parameters but the declaration in trait `ZObjectTable::default_property_value` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | fn default_property_value(&self, property_number: u16, access: &Self::DataAccess) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | fn default_property_value(&self, property_number: u16) -> u16; [INFO] [stdout] | --------------------------- trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `attributes` has 2 parameters but the declaration in trait `ZObject::attributes` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | fn attributes(&self, helper: &MockObjectTableStorage) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | fn attributes(&self) -> u32; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `set_attributes` has 3 parameters but the declaration in trait `ZObject::set_attributes` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | fn set_attributes(&self, attrs: u32, helper: &mut MockObjectTableStorage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | fn set_attributes(&self, attrs: u32); [INFO] [stdout] | ----------------- trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `parent` has 2 parameters but the declaration in trait `ZObject::parent` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | fn parent(&self, helper: &MockObjectTableStorage) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | fn parent(&self) -> u16; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `set_parent` has 3 parameters but the declaration in trait `ZObject::set_parent` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | fn set_parent(&self, parent: u16, helper: &mut MockObjectTableStorage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | fn set_parent(&self, parent: u16); [INFO] [stdout] | ------------------ trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `sibling` has 2 parameters but the declaration in trait `ZObject::sibling` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | fn sibling(&self, helper: &MockObjectTableStorage) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:90:14 [INFO] [stdout] | [INFO] [stdout] 90 | fn sibling(&self) -> u16; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `set_sibling` has 3 parameters but the declaration in trait `ZObject::set_sibling` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:134:18 [INFO] [stdout] | [INFO] [stdout] 134 | fn set_sibling(&self, sibling: u16, helper: &mut MockObjectTableStorage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:91:18 [INFO] [stdout] | [INFO] [stdout] 91 | fn set_sibling(&self, sibling: u16); [INFO] [stdout] | ------------------- trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `child` has 2 parameters but the declaration in trait `ZObject::child` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | fn child(&self, helper: &MockObjectTableStorage) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | fn child(&self) -> u16; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `set_child` has 3 parameters but the declaration in trait `ZObject::set_child` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | fn set_child(&self, child: u16, helper: &mut MockObjectTableStorage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | fn set_child(&self, child: u16); [INFO] [stdout] | ----------------- trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `property_table` has 2 parameters but the declaration in trait `ZObject::property_table` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | fn property_table(&self, helper: &MockObjectTableStorage) -> MockPropertyTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | fn property_table(&self) -> Self::PropertyTable; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `name_ptr` has 2 parameters but the declaration in trait `ZPropertyTable::name_ptr` has 1 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:172:15 [INFO] [stdout] | [INFO] [stdout] 172 | fn name_ptr(&self, helper: &MockPropertyTableStorage) -> BytePtr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | fn name_ptr(&self) -> BytePtr; [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `find_property` has 3 parameters but the declaration in trait `ZPropertyTable::find_property` has 2 [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | fn find_property(&self, [INFO] [stdout] | ____________________^ [INFO] [stdout] 179 | | number: u16, [INFO] [stdout] 180 | | helper: &MockPropertyTableStorage) [INFO] [stdout] | |____________________________________________________^ expected 2 parameters, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:111:20 [INFO] [stdout] | [INFO] [stdout] 111 | fn find_property(&self, number: u16) -> Option<(u16, BytePtr)>; [INFO] [stdout] | ------------------ trait requires 2 parameters [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Storage`, `storage`, `next_property` [INFO] [stdout] --> src/zmachine/vm/mock_object_table.rs:169:1 [INFO] [stdout] | [INFO] [stdout] 169 | impl ZPropertyTable for MockPropertyTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Storage`, `storage`, `next_property` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/zmachine/vm/object_table.rs:105:3 [INFO] [stdout] | [INFO] [stdout] 105 | type Storage: ZPropertyStorage; [INFO] [stdout] | ------------------------------ `Storage` from trait [INFO] [stdout] 106 | [INFO] [stdout] 107 | fn storage(&self) -> Self::Storage; [INFO] [stdout] | ----------------------------------- `storage` from trait [INFO] [stdout] ... [INFO] [stdout] 118 | fn next_property(&self, number: u16) -> u16; [INFO] [stdout] | -------------------------------------------- `next_property` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:232:40 [INFO] [stdout] | [INFO] [stdout] 232 | ... op_func: &Fn(&mut Self, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 | op_func: &dyn Fn(&mut Self, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:282:35 [INFO] [stdout] | [INFO] [stdout] 282 | op_func: &Fn(&mut Self, Operand, Operand) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 | op_func: &dyn Fn(&mut Self, Operand, Operand) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/zmachine/vm/zvm.rs:292:41 [INFO] [stdout] | [INFO] [stdout] 292 | ... op_func: &Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | op_func: &dyn Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 30 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0046, E0050, E0220, E0407, E0432, E0437. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rzm` (lib test) due to 31 previous errors; 16 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/zmachine/vm/stack.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | let mut slice = self.stack.as_mut_slice(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/zmachine/vm/stack.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | let mut slice = self.stack.as_mut_slice(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/zmachine/vm/vm.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 147 | _ => panic!("What is this number: {}", encoded), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/zmachine/vm/vm.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 144 | 0x00 => VariableRef::Stack, [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 145 | 0x01...0x0f => VariableRef::Local(encoded - 0x01), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 146 | 0x10...0xff => VariableRef::Global(encoded - 0x10), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 147 | _ => panic!("What is this number: {}", encoded), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `separators` is never read [INFO] [stdout] --> src/zmachine/vm/dictionary.rs:5:3 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Dictionary { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 5 | separators: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dictionary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/zmachine/ops/call.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | for (i, operand) in operands.into_iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 25 | for (i, operand) in operands.iter().enumerate() { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 25 | for (i, operand) in IntoIterator::into_iter(operands).enumerate() { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/zmachine/ops/text.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 62 | for ch in [ch1, ch2, ch3].into_iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 62 | for ch in [ch1, ch2, ch3].iter() { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or remove `.into_iter()` to iterate by value [INFO] [stdout] | [INFO] [stdout] 62 - for ch in [ch1, ch2, ch3].into_iter() { [INFO] [stdout] 62 + for ch in [ch1, ch2, ch3] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | &self.bytes.write_u16::(memory.u16_at(BytePtr::new(0x02))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 50 | let _ = &self.bytes.write_u16::(memory.u16_at(BytePtr::new(0x02))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | &self.bytes.write_u8(memory.u8_at(ptr.inc_by(i))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = &self.bytes.write_u8(memory.u8_at(ptr.inc_by(i))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | &self.bytes.write_u16::(memory.u16_at(BytePtr::new(0x1c))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = &self.bytes.write_u16::(memory.u16_at(BytePtr::new(0x1c))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | &self.bytes.write_u8((pc_as_u32 >> 16) as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 64 | let _ = &self.bytes.write_u8((pc_as_u32 >> 16) as u8); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | &self.bytes.write_u16::(pc_as_u32 as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = &self.bytes.write_u16::(pc_as_u32 as u16); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | &self.bytes.write_u32::(return_and_flags); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 82 | let _ = &self.bytes.write_u32::(return_and_flags); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | &self.bytes.write_u8(retvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = &self.bytes.write_u8(retvar); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | &self.bytes.write_u8(0); // TODO: num arguments passed. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 84 | let _ = &self.bytes.write_u8(0); // TODO: num arguments passed. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | &self.bytes.write_u16::(eval_stack.len() as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 85 | let _ = &self.bytes.write_u16::(eval_stack.len() as u16); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | &self.bytes.write_u16::(local); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 88 | let _ = &self.bytes.write_u16::(local); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/zmachine/vm/quetzal.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | &self.bytes.write_u16::(eval_word); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = &self.bytes.write_u16::(eval_word); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2eaf5a1fc6af0fb81f412084cf7c7dddc4cdd01edd59b5d8a2ab49c6db7243ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2eaf5a1fc6af0fb81f412084cf7c7dddc4cdd01edd59b5d8a2ab49c6db7243ca", kill_on_drop: false }` [INFO] [stdout] 2eaf5a1fc6af0fb81f412084cf7c7dddc4cdd01edd59b5d8a2ab49c6db7243ca