[INFO] cloning repository https://github.com/wraithan/rust-war-bot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wraithan/rust-war-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwraithan%2Frust-war-bot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwraithan%2Frust-war-bot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6cb0afd639e01f5e4ac7541d2c90da0f9a2cb0f2 [INFO] building wraithan/rust-war-bot against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwraithan%2Frust-war-bot" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wraithan/rust-war-bot on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/wraithan/rust-war-bot [INFO] finished tweaking git repo https://github.com/wraithan/rust-war-bot [INFO] tweaked toml for git repo https://github.com/wraithan/rust-war-bot written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/wraithan/rust-war-bot already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded log v0.3.4 [INFO] [stderr] Downloaded glob v0.2.10 [INFO] [stderr] Downloaded env_logger v0.3.2 [INFO] [stderr] Downloaded libc v0.2.4 [INFO] [stderr] Downloaded regex v0.1.44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f26b8c4e617949630db52e1c97ae58d69253eb2d492eb7972a7186e8b5e0a8a3 [INFO] running `Command { std: "docker" "start" "-a" "f26b8c4e617949630db52e1c97ae58d69253eb2d492eb7972a7186e8b5e0a8a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f26b8c4e617949630db52e1c97ae58d69253eb2d492eb7972a7186e8b5e0a8a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f26b8c4e617949630db52e1c97ae58d69253eb2d492eb7972a7186e8b5e0a8a3", kill_on_drop: false }` [INFO] [stdout] f26b8c4e617949630db52e1c97ae58d69253eb2d492eb7972a7186e8b5e0a8a3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 92bebe5281221b63b607bd8cbc158ce574a1efc0250e5dfc6c7934167eeab059 [INFO] running `Command { std: "docker" "start" "-a" "92bebe5281221b63b607bd8cbc158ce574a1efc0250e5dfc6c7934167eeab059", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.4 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling winapi v0.2.5 [INFO] [stderr] Compiling glob v0.2.10 [INFO] [stderr] Compiling regex-syntax v0.2.2 [INFO] [stderr] Compiling advapi32-sys v0.1.2 [INFO] [stderr] Compiling memchr v0.1.7 [INFO] [stderr] Compiling log v0.3.4 [INFO] [stderr] Compiling aho-corasick v0.4.0 [INFO] [stderr] Compiling rand v0.3.12 [INFO] [stderr] Compiling warlib v0.1.0 (/opt/rustwide/workdir/warlib) [INFO] [stderr] Compiling regex v0.1.44 [INFO] [stderr] Compiling env_logger v0.3.2 [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/errors.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | try!(description.fmt(f)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/errors.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | try!(f.write_str(": ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | _ => fail!((ErrorKind::UnknownCommand, "Got an unknown command", line.to_owned())) [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setting without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:104:25 [INFO] [stdout] | [INFO] [stdout] 104 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:108:25 [INFO] [stdout] | [INFO] [stdout] 108 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:116:29 [INFO] [stdout] | [INFO] [stdout] 116 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:123:29 [INFO] [stdout] | [INFO] [stdout] 123 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown setting type", command.to_owned())) [INFO] [stdout] | ------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:134:19 [INFO] [stdout] | [INFO] [stdout] 134 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setup_map without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | let value = try!(parts_to_pair_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:142:25 [INFO] [stdout] | [INFO] [stdout] 142 | let value = try!(parts_to_pair_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / fail!(( [INFO] [stdout] 150 | | ErrorKind::MalformedCommand, [INFO] [stdout] 151 | | "Got setup_map neighbors without any arguments" [INFO] [stdout] 152 | | )) [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | / fail!(( [INFO] [stdout] 159 | | ErrorKind::MalformedCommand, [INFO] [stdout] 160 | | "Got setup_map neighbors with an odd number of args, expecting and even amount" [INFO] [stdout] 161 | | )) [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | try!(u64::from_str_radix(pair.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | try!(parts_to_u64_vector(pair.get(1).unwrap().split(','))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown setup_map type", command.to_owned())) [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / fail!(( [INFO] [stdout] 187 | | ErrorKind::MalformedCommand, [INFO] [stdout] 188 | | "Got update_map without any arguments" [INFO] [stdout] 189 | | )) [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | / fail!(( [INFO] [stdout] 197 | | ErrorKind::MalformedCommand, [INFO] [stdout] 198 | | "Got update_map without all three parts" [INFO] [stdout] 199 | | )) [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | try!(u64::from_str_radix(triplet.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | try!(u64::from_str_radix(triplet.get(2).unwrap(), 10)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:216:31 [INFO] [stdout] | [INFO] [stdout] 216 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves missing type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:219:36 [INFO] [stdout] | [INFO] [stdout] 219 | value.push(try!(parts_to_attack_transfer(name.to_string(), &mut parts))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:222:36 [INFO] [stdout] | [INFO] [stdout] 222 | value.push(try!(parts_to_place_armies(name.to_string(), &mut parts))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:224:26 [INFO] [stdout] | [INFO] [stdout] 224 | _ => fail!((ErrorKind::MalformedCommand, "opponent_moves unknown type")) [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | let raw_time = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got go without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | let timebank = try!(u64::from_str_radix(raw_time, 10)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:242:19 [INFO] [stdout] | [INFO] [stdout] 242 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setup_map without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:246:25 [INFO] [stdout] | [INFO] [stdout] 246 | let value = try!(parts_to_u64(parts, "go place_armies".to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | let value = try!(parts_to_u64(parts, "go attack/transfer".to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:253:14 [INFO] [stdout] | [INFO] [stdout] 253 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown go type", command.to_owned())) [INFO] [stdout] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:258:21 [INFO] [stdout] | [INFO] [stdout] 258 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(try!(u64::from_str_radix(raw_value, 10))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | try!(peeker.peek().ok_or((ErrorKind::MalformedCommand, "Got command without any arguments"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | value.push(try!(u64::from_str_radix(word, 10))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | / fail!(( [INFO] [stdout] 282 | | ErrorKind::MalformedCommand, [INFO] [stdout] 283 | | "Got setup_map subcommand without any arguments" [INFO] [stdout] 284 | | )) [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | / fail!(( [INFO] [stdout] 291 | | ErrorKind::MalformedCommand, [INFO] [stdout] 292 | | "odd number of arguments to setup_map subcommand expecting an even amount" [INFO] [stdout] 293 | | )) [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 296 | try!(u64::from_str_radix(pair.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | try!(u64::from_str_radix(pair.get(1).unwrap(), 10)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:304:22 [INFO] [stdout] | [INFO] [stdout] 304 | let raw_source = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves source"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:305:22 [INFO] [stdout] | [INFO] [stdout] 305 | let raw_target = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves target"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:306:22 [INFO] [stdout] | [INFO] [stdout] 306 | let raw_armies = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves armies"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | try!(u64::from_str_radix(raw_source, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | try!(u64::from_str_radix(raw_target, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 311 | try!(u64::from_str_radix(raw_armies, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:316:22 [INFO] [stdout] | [INFO] [stdout] 316 | let raw_target = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves target"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:317:22 [INFO] [stdout] | [INFO] [stdout] 317 | let raw_armies = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves armies"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | try!(u64::from_str_radix(raw_target, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | try!(u64::from_str_radix(raw_armies, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> warlib/src/parser/errors.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | error::Error::description(err).to_owned() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> warlib/src/parser/errors.rs:88:32 [INFO] [stdout] | [INFO] [stdout] 88 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | fn cause(&self) -> Option<&dyn error::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> warlib/src/map.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut super_region = self.super_regions.get_mut(&super_region_id).unwrap(); [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] --> warlib/src/map.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut neighbor = self.regions.get_mut(&new_neighbor).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> warlib/src/map.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut region = self.regions.get_mut(&id).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling warbot v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.84s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: warlib v0.1.0 (/opt/rustwide/workdir/warlib) [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "92bebe5281221b63b607bd8cbc158ce574a1efc0250e5dfc6c7934167eeab059", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92bebe5281221b63b607bd8cbc158ce574a1efc0250e5dfc6c7934167eeab059", kill_on_drop: false }` [INFO] [stdout] 92bebe5281221b63b607bd8cbc158ce574a1efc0250e5dfc6c7934167eeab059 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 65e39aa162412b7d805e96ce953246d1af0180b562926abadb7a248309a2b838 [INFO] running `Command { std: "docker" "start" "-a" "65e39aa162412b7d805e96ce953246d1af0180b562926abadb7a248309a2b838", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/errors.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | try!(description.fmt(f)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/errors.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | try!(f.write_str(": ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | _ => fail!((ErrorKind::UnknownCommand, "Got an unknown command", line.to_owned())) [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setting without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:104:25 [INFO] [stdout] | [INFO] [stdout] 104 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:108:25 [INFO] [stdout] | [INFO] [stdout] 108 | let value = try!(parts_to_u64(parts, command.to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:116:29 [INFO] [stdout] | [INFO] [stdout] 116 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:123:29 [INFO] [stdout] | [INFO] [stdout] 123 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown setting type", command.to_owned())) [INFO] [stdout] | ------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:134:19 [INFO] [stdout] | [INFO] [stdout] 134 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setup_map without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | let value = try!(parts_to_pair_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:142:25 [INFO] [stdout] | [INFO] [stdout] 142 | let value = try!(parts_to_pair_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / fail!(( [INFO] [stdout] 150 | | ErrorKind::MalformedCommand, [INFO] [stdout] 151 | | "Got setup_map neighbors without any arguments" [INFO] [stdout] 152 | | )) [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | / fail!(( [INFO] [stdout] 159 | | ErrorKind::MalformedCommand, [INFO] [stdout] 160 | | "Got setup_map neighbors with an odd number of args, expecting and even amount" [INFO] [stdout] 161 | | )) [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | try!(u64::from_str_radix(pair.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | try!(parts_to_u64_vector(pair.get(1).unwrap().split(','))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown setup_map type", command.to_owned())) [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / fail!(( [INFO] [stdout] 187 | | ErrorKind::MalformedCommand, [INFO] [stdout] 188 | | "Got update_map without any arguments" [INFO] [stdout] 189 | | )) [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | / fail!(( [INFO] [stdout] 197 | | ErrorKind::MalformedCommand, [INFO] [stdout] 198 | | "Got update_map without all three parts" [INFO] [stdout] 199 | | )) [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | try!(u64::from_str_radix(triplet.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | try!(u64::from_str_radix(triplet.get(2).unwrap(), 10)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:216:31 [INFO] [stdout] | [INFO] [stdout] 216 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves missing type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:219:36 [INFO] [stdout] | [INFO] [stdout] 219 | value.push(try!(parts_to_attack_transfer(name.to_string(), &mut parts))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:222:36 [INFO] [stdout] | [INFO] [stdout] 222 | value.push(try!(parts_to_place_armies(name.to_string(), &mut parts))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:224:26 [INFO] [stdout] | [INFO] [stdout] 224 | _ => fail!((ErrorKind::MalformedCommand, "opponent_moves unknown type")) [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | let raw_time = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got go without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | let timebank = try!(u64::from_str_radix(raw_time, 10)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | let value = try!(parts_to_u64_vector(parts)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:242:19 [INFO] [stdout] | [INFO] [stdout] 242 | let command = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "Got setup_map without type"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:246:25 [INFO] [stdout] | [INFO] [stdout] 246 | let value = try!(parts_to_u64(parts, "go place_armies".to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | let value = try!(parts_to_u64(parts, "go attack/transfer".to_owned())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:253:14 [INFO] [stdout] | [INFO] [stdout] 253 | _ => fail!((ErrorKind::UnknownCommand, "got an unknown go type", command.to_owned())) [INFO] [stdout] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:258:21 [INFO] [stdout] | [INFO] [stdout] 258 | let raw_value = try!(parts.next().ok_or(( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(try!(u64::from_str_radix(raw_value, 10))) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | try!(peeker.peek().ok_or((ErrorKind::MalformedCommand, "Got command without any arguments"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | value.push(try!(u64::from_str_radix(word, 10))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | / fail!(( [INFO] [stdout] 282 | | ErrorKind::MalformedCommand, [INFO] [stdout] 283 | | "Got setup_map subcommand without any arguments" [INFO] [stdout] 284 | | )) [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> warlib/src/parser/errors.rs:8:54 [INFO] [stdout] | [INFO] [stdout] 8 | return Err(::std::convert::From::from($expr)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: warlib/src/parser/mod.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | / fail!(( [INFO] [stdout] 291 | | ErrorKind::MalformedCommand, [INFO] [stdout] 292 | | "odd number of arguments to setup_map subcommand expecting an even amount" [INFO] [stdout] 293 | | )) [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail` [INFO] [stdout] = note: this warning originates in the macro `fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 296 | try!(u64::from_str_radix(pair.get(0).unwrap(), 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | try!(u64::from_str_radix(pair.get(1).unwrap(), 10)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:304:22 [INFO] [stdout] | [INFO] [stdout] 304 | let raw_source = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves source"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:305:22 [INFO] [stdout] | [INFO] [stdout] 305 | let raw_target = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves target"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:306:22 [INFO] [stdout] | [INFO] [stdout] 306 | let raw_armies = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves armies"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | try!(u64::from_str_radix(raw_source, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | try!(u64::from_str_radix(raw_target, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 311 | try!(u64::from_str_radix(raw_armies, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:316:22 [INFO] [stdout] | [INFO] [stdout] 316 | let raw_target = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves target"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:317:22 [INFO] [stdout] | [INFO] [stdout] 317 | let raw_armies = try!(parts.next().ok_or((ErrorKind::MalformedCommand, "opponent_moves armies"))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | try!(u64::from_str_radix(raw_target, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> warlib/src/parser/mod.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | try!(u64::from_str_radix(raw_armies, 10)), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> warlib/src/parser/errors.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | error::Error::description(err).to_owned() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling warbot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> warlib/src/parser/errors.rs:88:32 [INFO] [stdout] | [INFO] [stdout] 88 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | fn cause(&self) -> Option<&dyn error::Error> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> warlib/src/map.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut super_region = self.super_regions.get_mut(&super_region_id).unwrap(); [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] --> warlib/src/map.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut neighbor = self.regions.get_mut(&new_neighbor).unwrap(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> warlib/src/map.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut region = self.regions.get_mut(&id).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: warlib v0.1.0 (/opt/rustwide/workdir/warlib) [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "65e39aa162412b7d805e96ce953246d1af0180b562926abadb7a248309a2b838", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65e39aa162412b7d805e96ce953246d1af0180b562926abadb7a248309a2b838", kill_on_drop: false }` [INFO] [stdout] 65e39aa162412b7d805e96ce953246d1af0180b562926abadb7a248309a2b838