[INFO] updating cached repository DataTriny/Fortuna [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/DataTriny/Fortuna [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/DataTriny/Fortuna" "work/ex/pr-60466/sources/master#7840a0b753a065a41999f1fb6028f67d33e3fdd5/gh/DataTriny/Fortuna"` [INFO] [stderr] Cloning into 'work/ex/pr-60466/sources/master#7840a0b753a065a41999f1fb6028f67d33e3fdd5/gh/DataTriny/Fortuna'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/DataTriny/Fortuna" "work/ex/pr-60466/sources/try#6a9f0b6cc40687e25f9d772e3b10bab335c63853/gh/DataTriny/Fortuna"` [INFO] [stderr] Cloning into 'work/ex/pr-60466/sources/try#6a9f0b6cc40687e25f9d772e3b10bab335c63853/gh/DataTriny/Fortuna'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c1f62ae70db84b8e293670d4734f45d4c967386b [INFO] sha for GitHub repo DataTriny/Fortuna: c1f62ae70db84b8e293670d4734f45d4c967386b [INFO] validating manifest of DataTriny/Fortuna on toolchain master#7840a0b753a065a41999f1fb6028f67d33e3fdd5 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+7840a0b753a065a41999f1fb6028f67d33e3fdd5-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of DataTriny/Fortuna on toolchain try#6a9f0b6cc40687e25f9d772e3b10bab335c63853 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+6a9f0b6cc40687e25f9d772e3b10bab335c63853-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing DataTriny/Fortuna [INFO] finished frobbing DataTriny/Fortuna [INFO] frobbed toml for DataTriny/Fortuna written to work/ex/pr-60466/sources/master#7840a0b753a065a41999f1fb6028f67d33e3fdd5/gh/DataTriny/Fortuna/Cargo.toml [INFO] started frobbing DataTriny/Fortuna [INFO] finished frobbing DataTriny/Fortuna [INFO] frobbed toml for DataTriny/Fortuna written to work/ex/pr-60466/sources/try#6a9f0b6cc40687e25f9d772e3b10bab335c63853/gh/DataTriny/Fortuna/Cargo.toml [INFO] crate DataTriny/Fortuna already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+7840a0b753a065a41999f1fb6028f67d33e3fdd5-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+6a9f0b6cc40687e25f9d772e3b10bab335c63853-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache lock [INFO] checking DataTriny/Fortuna against try#6a9f0b6cc40687e25f9d772e3b10bab335c63853 for pr-60466 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-60466/worker-7/try#6a9f0b6cc40687e25f9d772e3b10bab335c63853:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-60466/sources/try#6a9f0b6cc40687e25f9d772e3b10bab335c63853/gh/DataTriny/Fortuna:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+6a9f0b6cc40687e25f9d772e3b10bab335c63853-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 48622e42512f76922c75079fd4c69f786c4dc7fdddf22eee4becf07171ce480b [INFO] running `"docker" "start" "-a" "48622e42512f76922c75079fd4c69f786c4dc7fdddf22eee4becf07171ce480b"` [INFO] [stderr] Checking fortuna v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_selectors(&self) -> &Vec>; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:81:38 [INFO] [stderr] | [INFO] [stderr] 81 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:112:38 [INFO] [stderr] | [INFO] [stderr] 112 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:138:38 [INFO] [stderr] | [INFO] [stderr] 138 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | commands: Vec> [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:16:37 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn add(&mut self, command: Box) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn get_all(&self) -> &Vec> { &self.commands } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:22:41 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_at(&self, i: usize) -> &Box { &self.commands[i] } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_selectors(&self) -> &Vec>; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:81:38 [INFO] [stderr] | [INFO] [stderr] 81 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:112:38 [INFO] [stderr] | [INFO] [stderr] 112 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | selectors: Vec> [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/commands.rs:138:38 [INFO] [stderr] | [INFO] [stderr] 138 | fn get_selectors(&self) -> &Vec> { &self.selectors } [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Selector` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | commands: Vec> [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:16:37 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn add(&mut self, command: Box) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn get_all(&self) -> &Vec> { &self.commands } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/mod.rs:22:41 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_at(&self, i: usize) -> &Box { &self.commands[i] } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Command` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/input/commands.rs:41:20 [INFO] [stderr] | [INFO] [stderr] 41 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_game` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/input/commands.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/input/commands.rs:130:33 [INFO] [stderr] | [INFO] [stderr] 130 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/input/selectors.rs:37:16 [INFO] [stderr] | [INFO] [stderr] 37 | fn get(&self, game: &Game, input: &str) -> (usize, Selectable) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_game` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let mut offset = min(parsed.0 + 1, input.len()); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/game.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 56 | let command = self.commands.get_at(parsed.1); [INFO] [stderr] | ------------- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 63 | self.perform_action(command.execute(self, args)); [INFO] [stderr] | ^^^^ ------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: #[warn(mutable_borrow_reservation_conflict)] on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/input/commands.rs:41:20 [INFO] [stderr] | [INFO] [stderr] 41 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_game` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/input/commands.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/input/commands.rs:130:33 [INFO] [stderr] | [INFO] [stderr] 130 | fn execute(&self, game: &Game, args: Vec>) -> PlayerAction { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/input/selectors.rs:37:16 [INFO] [stderr] | [INFO] [stderr] 37 | fn get(&self, game: &Game, input: &str) -> (usize, Selectable) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_game` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let mut offset = min(parsed.0 + 1, input.len()); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/game.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 56 | let command = self.commands.get_at(parsed.1); [INFO] [stderr] | ------------- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 63 | self.perform_action(command.execute(self, args)); [INFO] [stderr] | ^^^^ ------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: #[warn(mutable_borrow_reservation_conflict)] on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.98s [INFO] running `"docker" "inspect" "48622e42512f76922c75079fd4c69f786c4dc7fdddf22eee4becf07171ce480b"` [INFO] running `"docker" "rm" "-f" "48622e42512f76922c75079fd4c69f786c4dc7fdddf22eee4becf07171ce480b"` [INFO] [stdout] 48622e42512f76922c75079fd4c69f786c4dc7fdddf22eee4becf07171ce480b