[INFO] cloning repository https://github.com/psmit/blockbattle-rust-starterbot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/psmit/blockbattle-rust-starterbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsmit%2Fblockbattle-rust-starterbot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsmit%2Fblockbattle-rust-starterbot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b92b25d589327c977e5ab94d84316a6d9a121bfa [INFO] testing psmit/blockbattle-rust-starterbot against 1.45.2 for beta-1.46-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpsmit%2Fblockbattle-rust-starterbot" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/psmit/blockbattle-rust-starterbot on toolchain 1.45.2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/psmit/blockbattle-rust-starterbot [INFO] finished tweaking git repo https://github.com/psmit/blockbattle-rust-starterbot [INFO] tweaked toml for git repo https://github.com/psmit/blockbattle-rust-starterbot written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/psmit/blockbattle-rust-starterbot already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] error: the lock file /workspace/builds/worker-4/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] bd271a1f014538abe5e1e5863fcc78f2dacab592eaea00a72af16194a0898ebd [INFO] running `Command { std: "docker" "start" "-a" "bd271a1f014538abe5e1e5863fcc78f2dacab592eaea00a72af16194a0898ebd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bd271a1f014538abe5e1e5863fcc78f2dacab592eaea00a72af16194a0898ebd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd271a1f014538abe5e1e5863fcc78f2dacab592eaea00a72af16194a0898ebd", kill_on_drop: false }` [INFO] [stdout] bd271a1f014538abe5e1e5863fcc78f2dacab592eaea00a72af16194a0898ebd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2f81ab0de95c146fb5c8dc50eb868c899c0c78f4489cad62b62b9097920ea700 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2f81ab0de95c146fb5c8dc50eb868c899c0c78f4489cad62b62b9097920ea700", kill_on_drop: false }` [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling blockbattle-rust-starterbot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:87:23 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:87:44 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | ints[i] = try!(parse::(s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:118:11 [INFO] [stdout] | [INFO] [stdout] 118 | match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | "settings" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:120:51 [INFO] [stdout] | [INFO] [stdout] 120 | "timebank" => settings.timebank = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:121:61 [INFO] [stdout] | [INFO] [stdout] 121 | "time_per_move" => settings.time_per_move = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:124:57 [INFO] [stdout] | [INFO] [stdout] 124 | "field_width" => settings.field_width = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:125:59 [INFO] [stdout] | [INFO] [stdout] 125 | "field_height" => settings.field_height = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:128:27 [INFO] [stdout] | [INFO] [stdout] 128 | "update" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:129:29 [INFO] [stdout] | [INFO] [stdout] 129 | "game" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:130:41 [INFO] [stdout] | [INFO] [stdout] 130 | "round" => game.round = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:131:61 [INFO] [stdout] | [INFO] [stdout] 131 | "this_piece_type" => game.this_piece_type = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:132:61 [INFO] [stdout] | [INFO] [stdout] 132 | "next_piece_type" => game.next_piece_type = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:133:69 [INFO] [stdout] | [INFO] [stdout] 133 | "this_piece_position" => game.this_piece_position = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:141:23 [INFO] [stdout] | [INFO] [stdout] 141 | match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:142:57 [INFO] [stdout] | [INFO] [stdout] 142 | "row_points" => player.row_points = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:143:47 [INFO] [stdout] | [INFO] [stdout] 143 | "combo" => player.combo = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:144:47 [INFO] [stdout] | [INFO] [stdout] 144 | "field" => player.field = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:149:27 [INFO] [stdout] | [INFO] [stdout] 149 | "action" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:151:34 [INFO] [stdout] | [INFO] [stdout] 151 | game.time_left = try!(parse(&rest(t))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | while {line.clear(); try!(self.r.read_line(&mut line)) > 0} { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | match try!(parse_line(l, self.line_number, settings, game)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/player.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | for _ in (0..-game.this_piece_position.y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:39:64 [INFO] [stdout] | [INFO] [stdout] 39 | ParserError{message: format!("Generic IO error: {}", e.description())} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:108:83 [INFO] [stdout] | [INFO] [stdout] 108 | Err(x) => Err(ParserError{message: format!("Could not parse {}, {}", s, x.description())}), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::slice::::connect': renamed to join [INFO] [stdout] --> src/parser.rs:116:71 [INFO] [stdout] | [INFO] [stdout] 116 | let rest = |t: &mut SplitWhitespace<'a>| t.collect::>().connect(" "); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let mut t = &mut line.split_whitespace(); [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] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.34s [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2f81ab0de95c146fb5c8dc50eb868c899c0c78f4489cad62b62b9097920ea700", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f81ab0de95c146fb5c8dc50eb868c899c0c78f4489cad62b62b9097920ea700", kill_on_drop: false }` [INFO] [stdout] 2f81ab0de95c146fb5c8dc50eb868c899c0c78f4489cad62b62b9097920ea700 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a676ae26ebbf22662cff7f21ac64140c25e18ee9196cd61ca7a0e01bd0177a4b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a676ae26ebbf22662cff7f21ac64140c25e18ee9196cd61ca7a0e01bd0177a4b", kill_on_drop: false }` [INFO] [stderr] Compiling blockbattle-rust-starterbot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:87:23 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:87:44 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | ints[i] = try!(parse::(s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:118:11 [INFO] [stdout] | [INFO] [stdout] 118 | match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | "settings" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:120:51 [INFO] [stdout] | [INFO] [stdout] 120 | "timebank" => settings.timebank = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:121:61 [INFO] [stdout] | [INFO] [stdout] 121 | "time_per_move" => settings.time_per_move = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:124:57 [INFO] [stdout] | [INFO] [stdout] 124 | "field_width" => settings.field_width = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:125:59 [INFO] [stdout] | [INFO] [stdout] 125 | "field_height" => settings.field_height = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:128:27 [INFO] [stdout] | [INFO] [stdout] 128 | "update" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:129:29 [INFO] [stdout] | [INFO] [stdout] 129 | "game" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:130:41 [INFO] [stdout] | [INFO] [stdout] 130 | "round" => game.round = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:131:61 [INFO] [stdout] | [INFO] [stdout] 131 | "this_piece_type" => game.this_piece_type = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:132:61 [INFO] [stdout] | [INFO] [stdout] 132 | "next_piece_type" => game.next_piece_type = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:133:69 [INFO] [stdout] | [INFO] [stdout] 133 | "this_piece_position" => game.this_piece_position = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:141:23 [INFO] [stdout] | [INFO] [stdout] 141 | match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:142:57 [INFO] [stdout] | [INFO] [stdout] 142 | "row_points" => player.row_points = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:143:47 [INFO] [stdout] | [INFO] [stdout] 143 | "combo" => player.combo = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:144:47 [INFO] [stdout] | [INFO] [stdout] 144 | "field" => player.field = try!(parse(&rest(t))), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:149:27 [INFO] [stdout] | [INFO] [stdout] 149 | "action" => match try!(next(t)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:151:34 [INFO] [stdout] | [INFO] [stdout] 151 | game.time_left = try!(parse(&rest(t))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | while {line.clear(); try!(self.r.read_line(&mut line)) > 0} { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/parser.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | match try!(parse_line(l, self.line_number, settings, game)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/player.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | for _ in (0..-game.this_piece_position.y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:39:64 [INFO] [stdout] | [INFO] [stdout] 39 | ParserError{message: format!("Generic IO error: {}", e.description())} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/parser.rs:108:83 [INFO] [stdout] | [INFO] [stdout] 108 | Err(x) => Err(ParserError{message: format!("Could not parse {}, {}", s, x.description())}), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::slice::::connect': renamed to join [INFO] [stdout] --> src/parser.rs:116:71 [INFO] [stdout] | [INFO] [stdout] 116 | let rest = |t: &mut SplitWhitespace<'a>| t.collect::>().connect(" "); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let mut t = &mut line.split_whitespace(); [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: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.59s [INFO] running `Command { std: "docker" "inspect" "a676ae26ebbf22662cff7f21ac64140c25e18ee9196cd61ca7a0e01bd0177a4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a676ae26ebbf22662cff7f21ac64140c25e18ee9196cd61ca7a0e01bd0177a4b", kill_on_drop: false }` [INFO] [stdout] a676ae26ebbf22662cff7f21ac64140c25e18ee9196cd61ca7a0e01bd0177a4b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 41a36f3621456ba5e0f38afae1a048755a0e3cab4f283f07c73c7b8993a44205 [INFO] running `Command { std: "docker" "start" "-a" "41a36f3621456ba5e0f38afae1a048755a0e3cab4f283f07c73c7b8993a44205", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:87:23 [INFO] [stderr] | [INFO] [stderr] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:87:44 [INFO] [stderr] | [INFO] [stderr] 87 | Ok(Location{x:try!(parse(v[0])), y:try!(parse(v[1]))}) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | ints[i] = try!(parse::(s)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:118:11 [INFO] [stderr] | [INFO] [stderr] 118 | match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:119:29 [INFO] [stderr] | [INFO] [stderr] 119 | "settings" => match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:120:51 [INFO] [stderr] | [INFO] [stderr] 120 | "timebank" => settings.timebank = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:121:61 [INFO] [stderr] | [INFO] [stderr] 121 | "time_per_move" => settings.time_per_move = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:124:57 [INFO] [stderr] | [INFO] [stderr] 124 | "field_width" => settings.field_width = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:125:59 [INFO] [stderr] | [INFO] [stderr] 125 | "field_height" => settings.field_height = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:128:27 [INFO] [stderr] | [INFO] [stderr] 128 | "update" => match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:129:29 [INFO] [stderr] | [INFO] [stderr] 129 | "game" => match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:130:41 [INFO] [stderr] | [INFO] [stderr] 130 | "round" => game.round = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:131:61 [INFO] [stderr] | [INFO] [stderr] 131 | "this_piece_type" => game.this_piece_type = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:132:61 [INFO] [stderr] | [INFO] [stderr] 132 | "next_piece_type" => game.next_piece_type = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:133:69 [INFO] [stderr] | [INFO] [stderr] 133 | "this_piece_position" => game.this_piece_position = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:141:23 [INFO] [stderr] | [INFO] [stderr] 141 | match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:142:57 [INFO] [stderr] | [INFO] [stderr] 142 | "row_points" => player.row_points = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:143:47 [INFO] [stderr] | [INFO] [stderr] 143 | "combo" => player.combo = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:144:47 [INFO] [stderr] | [INFO] [stderr] 144 | "field" => player.field = try!(parse(&rest(t))), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:149:27 [INFO] [stderr] | [INFO] [stderr] 149 | "action" => match try!(next(t)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:151:34 [INFO] [stderr] | [INFO] [stderr] 151 | game.time_left = try!(parse(&rest(t))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:171:30 [INFO] [stderr] | [INFO] [stderr] 171 | while {line.clear(); try!(self.r.read_line(&mut line)) > 0} { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/parser.rs:179:19 [INFO] [stderr] | [INFO] [stderr] 179 | match try!(parse_line(l, self.line_number, settings, game)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression [INFO] [stderr] --> src/player.rs:28:14 [INFO] [stderr] | [INFO] [stderr] 28 | for _ in (0..-game.this_piece_position.y) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/parser.rs:39:64 [INFO] [stderr] | [INFO] [stderr] 39 | ParserError{message: format!("Generic IO error: {}", e.description())} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/parser.rs:108:83 [INFO] [stderr] | [INFO] [stderr] 108 | Err(x) => Err(ParserError{message: format!("Could not parse {}, {}", s, x.description())}), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::slice::::connect': renamed to join [INFO] [stderr] --> src/parser.rs:116:71 [INFO] [stderr] | [INFO] [stderr] 116 | let rest = |t: &mut SplitWhitespace<'a>| t.collect::>().connect(" "); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let mut t = &mut line.split_whitespace(); [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: 28 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/blockbattle_rust_starterbot-fc9542b7630c2014 [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 [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "41a36f3621456ba5e0f38afae1a048755a0e3cab4f283f07c73c7b8993a44205", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "41a36f3621456ba5e0f38afae1a048755a0e3cab4f283f07c73c7b8993a44205", kill_on_drop: false }` [INFO] [stdout] 41a36f3621456ba5e0f38afae1a048755a0e3cab4f283f07c73c7b8993a44205