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