[INFO] cloning repository https://github.com/AlephAlpha/spaceships [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlephAlpha/spaceships" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlephAlpha%2Fspaceships", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlephAlpha%2Fspaceships'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 60a55a737b7c71445e95ae720f5402af89a43b58 [INFO] checking AlephAlpha/spaceships against master#9503ea19edbf01b9435e80e17d60ce1b88390116 for pr-81782 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlephAlpha%2Fspaceships" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AlephAlpha/spaceships on toolchain 9503ea19edbf01b9435e80e17d60ce1b88390116 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/AlephAlpha/spaceships [INFO] finished tweaking git repo https://github.com/AlephAlpha/spaceships [INFO] tweaked toml for git repo https://github.com/AlephAlpha/spaceships written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/AlephAlpha/spaceships already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e29a4731a40fd2290f191f0752ddb6cf9f5f29dfe51b3d986e8bda8e073cd30a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "e29a4731a40fd2290f191f0752ddb6cf9f5f29dfe51b3d986e8bda8e073cd30a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e29a4731a40fd2290f191f0752ddb6cf9f5f29dfe51b3d986e8bda8e073cd30a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e29a4731a40fd2290f191f0752ddb6cf9f5f29dfe51b3d986e8bda8e073cd30a", kill_on_drop: false }` [INFO] [stdout] e29a4731a40fd2290f191f0752ddb6cf9f5f29dfe51b3d986e8bda8e073cd30a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 98bbd85d1765d0b2d0c1b02dfcf5b5f61507849a6856516ee86331abd2e079e4 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "98bbd85d1765d0b2d0c1b02dfcf5b5f61507849a6856516ee86331abd2e079e4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Compiling serde_derive v1.0.123 [INFO] [stderr] Compiling serde v1.0.123 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling serde_json v1.0.62 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking term_size v0.3.2 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking rand_core v0.6.1 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking stopwatch v0.0.7 [INFO] [stderr] Compiling thiserror-impl v1.0.23 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Checking thiserror v1.0.23 [INFO] [stderr] Checking ca-rules v0.3.2 [INFO] [stderr] Checking structopt v0.3.21 [INFO] [stderr] Checking rlifesrc-lib v0.4.1 [INFO] [stderr] Checking spaceships v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `rlifesrc_lib::WorldSer` [INFO] [stdout] --> src/main.rs:2:71 [INFO] [stdout] | [INFO] [stdout] 2 | use rlifesrc_lib::{Config, NewState, Search, State, Status, Symmetry, WorldSer, ALIVE, DEAD}; [INFO] [stdout] | ^^^^^^^^ no `WorldSer` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `rlifesrc_lib::WorldSer` [INFO] [stdout] --> src/main.rs:2:71 [INFO] [stdout] | [INFO] [stdout] 2 | use rlifesrc_lib::{Config, NewState, Search, State, Status, Symmetry, WorldSer, ALIVE, DEAD}; [INFO] [stdout] | ^^^^^^^^ no `WorldSer` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:34 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width.try_into().unwrap(), self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:50 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height.try_into().unwrap(), self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:68 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period.try_into().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy) [INFO] [stdout] | ^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx.try_into().unwrap(), self.dy) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy) [INFO] [stdout] | ^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy.try_into().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:34 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width.try_into().unwrap(), self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:50 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height.try_into().unwrap(), self.period) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:80:68 [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period) [INFO] [stdout] | ^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 80 | let config = Config::new(self.max_width, self.init_height, self.period.try_into().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:81:28 [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy) [INFO] [stdout] | ^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx.try_into().unwrap(), self.dy) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy) [INFO] [stdout] | ^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 81 | .set_translate(self.dx, self.dy.try_into().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_non_empty_front` found for struct `Config` in the current scope [INFO] [stdout] --> src/main.rs:85:14 [INFO] [stdout] | [INFO] [stdout] 85 | .set_non_empty_front(true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ method not found in `Config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:141:53 [INFO] [stdout] | [INFO] [stdout] 141 | let width = (self.world.config().width).min(term_width as isize - 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 141 | let width = (self.world.config().width).min((term_width as isize - 1).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:145:62 [INFO] [stdout] | [INFO] [stdout] 145 | let state = self.world.get_cell_state((x, y, self.gen)).unwrap(); [INFO] [stdout] | ^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 145 | let state = self.world.get_cell_state((x, y, self.gen.try_into().unwrap())).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:147:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 147 | Some(DEAD) => display.push('.'), [INFO] [stdout] | ^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 147 | Some(DEAD) => display.push('.'), [INFO] [stdout] 148 | Some(ALIVE) => { [INFO] [stdout] | ^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 155 | Some(State(i)) => display.push((b'A' + i as u8 - 1) as char), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 156 | None => display.push('?'), [INFO] [stdout] | ^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:179:62 [INFO] [stdout] | [INFO] [stdout] 179 | let state = self.world.get_cell_state((x, y, self.gen)).unwrap(); [INFO] [stdout] | ^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 179 | let state = self.world.get_cell_state((x, y, self.gen.try_into().unwrap())).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 181 | Some(DEAD) => { [INFO] [stdout] | ^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 188 | Some(ALIVE) => { [INFO] [stdout] | ^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:195:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 195 | Some(State(i)) => line.push((b'A' + i as u8 - 1) as char), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 196 | None => line.push('?'), [INFO] [stdout] | ^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:266:36 [INFO] [stdout] | [INFO] [stdout] 266 | self.gen = min_gen; [INFO] [stdout] | ^^^^^^^ expected `isize`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `set_non_empty_front` found for struct `Config` in the current scope [INFO] [stdout] --> src/main.rs:85:14 [INFO] [stdout] | [INFO] [stdout] 85 | .set_non_empty_front(true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ method not found in `Config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:267:43 [INFO] [stdout] | [INFO] [stdout] 267 | self.cell_count = min_cell_count; [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `usize`, found `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:270:60 [INFO] [stdout] | [INFO] [stdout] 270 | self.world.set_max_cell_count(Some(self.cell_count - 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected `u32`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 270 | self.world.set_max_cell_count(Some((self.cell_count - 1).try_into().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:141:53 [INFO] [stdout] | [INFO] [stdout] 141 | let width = (self.world.config().width).min(term_width as isize - 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 141 | let width = (self.world.config().width).min((term_width as isize - 1).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:281:53 [INFO] [stdout] | [INFO] [stdout] 281 | self.gen = (self.gen + 1) % self.world.config().period; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:145:62 [INFO] [stdout] | [INFO] [stdout] 145 | let state = self.world.get_cell_state((x, y, self.gen)).unwrap(); [INFO] [stdout] | ^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 145 | let state = self.world.get_cell_state((x, y, self.gen.try_into().unwrap())).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: cannot mod `isize` by `i32` [INFO] [stdout] --> src/main.rs:281:51 [INFO] [stdout] | [INFO] [stdout] 281 | self.gen = (self.gen + 1) % self.world.config().period; [INFO] [stdout] | ^ no implementation for `isize % i32` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Rem` is not implemented for `isize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:147:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 147 | Some(DEAD) => display.push('.'), [INFO] [stdout] | ^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 147 | Some(DEAD) => display.push('.'), [INFO] [stdout] 148 | Some(ALIVE) => { [INFO] [stdout] | ^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 155 | Some(State(i)) => display.push((b'A' + i as u8 - 1) as char), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 146 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 156 | None => display.push('?'), [INFO] [stdout] | ^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 23 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:179:62 [INFO] [stdout] | [INFO] [stdout] 179 | let state = self.world.get_cell_state((x, y, self.gen)).unwrap(); [INFO] [stdout] | ^^^^^^^^ expected `i32`, found `isize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `isize` to an `i32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 179 | let state = self.world.get_cell_state((x, y, self.gen.try_into().unwrap())).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] 181 | Some(DEAD) => { [INFO] [stdout] | ^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 188 | Some(ALIVE) => { [INFO] [stdout] | ^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:195:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 195 | Some(State(i)) => line.push((b'A' + i as u8 - 1) as char), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 180 | match state { [INFO] [stdout] | ----- this expression has type `rlifesrc_lib::State` [INFO] [stdout] ... [INFO] [stdout] 196 | None => line.push('?'), [INFO] [stdout] | ^^^^ expected struct `rlifesrc_lib::State`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `rlifesrc_lib::State` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `spaceships` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:266:36 [INFO] [stdout] | [INFO] [stdout] 266 | self.gen = min_gen; [INFO] [stdout] | ^^^^^^^ expected `isize`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:267:43 [INFO] [stdout] | [INFO] [stdout] 267 | self.cell_count = min_cell_count; [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `usize`, found `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:270:60 [INFO] [stdout] | [INFO] [stdout] 270 | self.world.set_max_cell_count(Some(self.cell_count - 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected `u32`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u32` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 270 | self.world.set_max_cell_count(Some((self.cell_count - 1).try_into().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:281:53 [INFO] [stdout] | [INFO] [stdout] 281 | self.gen = (self.gen + 1) % self.world.config().period; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: cannot mod `isize` by `i32` [INFO] [stdout] --> src/main.rs:281:51 [INFO] [stdout] | [INFO] [stdout] 281 | self.gen = (self.gen + 1) % self.world.config().period; [INFO] [stdout] | ^ no implementation for `isize % i32` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Rem` is not implemented for `isize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 23 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "98bbd85d1765d0b2d0c1b02dfcf5b5f61507849a6856516ee86331abd2e079e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98bbd85d1765d0b2d0c1b02dfcf5b5f61507849a6856516ee86331abd2e079e4", kill_on_drop: false }` [INFO] [stdout] 98bbd85d1765d0b2d0c1b02dfcf5b5f61507849a6856516ee86331abd2e079e4