[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] testing gmadrid/rzm against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmadrid%2Frzm" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gmadrid/rzm on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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-4/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: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded term_size v0.2.1 [INFO] [stderr] Downloaded unicode-segmentation v0.1.2 [INFO] [stderr] Downloaded vec_map v0.6.0 [INFO] [stderr] Downloaded clap v2.16.4 [INFO] [stderr] Downloaded unicode-width v0.1.3 [INFO] [stderr] Downloaded ncurses v5.84.0 [INFO] [stderr] Downloaded strsim v0.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9c52e4400d7c842ec384f124d739294fe8aecbf00c13dfa1ac4ffa0abce063dc [INFO] running `Command { std: "docker" "start" "-a" "9c52e4400d7c842ec384f124d739294fe8aecbf00c13dfa1ac4ffa0abce063dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9c52e4400d7c842ec384f124d739294fe8aecbf00c13dfa1ac4ffa0abce063dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c52e4400d7c842ec384f124d739294fe8aecbf00c13dfa1ac4ffa0abce063dc", kill_on_drop: false }` [INFO] [stdout] 9c52e4400d7c842ec384f124d739294fe8aecbf00c13dfa1ac4ffa0abce063dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b4c3bd5d1a692447da502c9f10454da19c1dd40fdf03188684f23ddeb20ebf7d [INFO] running `Command { std: "docker" "start" "-a" "b4c3bd5d1a692447da502c9f10454da19c1dd40fdf03188684f23ddeb20ebf7d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.17 [INFO] [stderr] Compiling vec_map v0.6.0 [INFO] [stderr] Compiling unicode-width v0.1.3 [INFO] [stderr] Compiling strsim v0.5.1 [INFO] [stderr] Compiling unicode-segmentation v0.1.2 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling term_size v0.2.1 [INFO] [stderr] Compiling ncurses v5.84.0 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling clap v2.16.4 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stderr] Compiling 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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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/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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 - op_func: &Fn(&mut Self, Operand, VariableRef) -> Result<()>) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - op_func: &Fn(&mut Self, Operand, Operand) -> Result<()>) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 - op_func: &Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] 292 + op_func: &dyn Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | [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] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [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: field is never read: `separators` [INFO] [stdout] --> src/zmachine/vm/dictionary.rs:5:3 [INFO] [stdout] | [INFO] [stdout] 5 | separators: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Dictionary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/zmachine/vm/dictionary.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: `#[warn(array_into_iter)]` on by default [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] 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: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 27.36s [INFO] running `Command { std: "docker" "inspect" "b4c3bd5d1a692447da502c9f10454da19c1dd40fdf03188684f23ddeb20ebf7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4c3bd5d1a692447da502c9f10454da19c1dd40fdf03188684f23ddeb20ebf7d", kill_on_drop: false }` [INFO] [stdout] b4c3bd5d1a692447da502c9f10454da19c1dd40fdf03188684f23ddeb20ebf7d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e5a80d72a3ef31671dfe8328de1cb3dc8bbf7c560af7f05c402ff9e6a5e9c652 [INFO] running `Command { std: "docker" "start" "-a" "e5a80d72a3ef31671dfe8328de1cb3dc8bbf7c560af7f05c402ff9e6a5e9c652", kill_on_drop: false }` [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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/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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 - op_func: &Fn(&mut Self, Operand, VariableRef) -> Result<()>) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - op_func: &Fn(&mut Self, Operand, Operand) -> Result<()>) [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 - op_func: &Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] 292 + op_func: &dyn Fn(&mut Self, Operand, Operand, VariableRef) -> Result<()>) [INFO] [stdout] | [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] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [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: field is never read: `separators` [INFO] [stdout] --> src/zmachine/vm/dictionary.rs:5:3 [INFO] [stdout] | [INFO] [stdout] 5 | separators: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Dictionary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/zmachine/vm/dictionary.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] = note: `#[warn(array_into_iter)]` on by default [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] 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] [stderr] Compiling rzm v0.1.0 (/opt/rustwide/workdir) [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: 28 warnings emitted [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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/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`, `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: `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] = note: `#[warn(anonymous_parameters)]` on by default [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: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[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: aborting due to 15 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0220, E0407, E0432, E0437. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rzm` due to 16 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "e5a80d72a3ef31671dfe8328de1cb3dc8bbf7c560af7f05c402ff9e6a5e9c652", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5a80d72a3ef31671dfe8328de1cb3dc8bbf7c560af7f05c402ff9e6a5e9c652", kill_on_drop: false }` [INFO] [stdout] e5a80d72a3ef31671dfe8328de1cb3dc8bbf7c560af7f05c402ff9e6a5e9c652