[INFO] fetching crate backroll 0.2.0...
[INFO] testing backroll-0.2.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate backroll 0.2.0 into /workspace/builds/worker-19/source
[INFO] validating manifest of crates.io crate backroll 0.2.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate backroll 0.2.0
[INFO] finished tweaking crates.io crate backroll 0.2.0
[INFO] tweaked toml for crates.io crate backroll 0.2.0 written to /workspace/builds/worker-19/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dd3aea16196ced77e0c213e2d66ba6233d9d52ba2632a3a29de479ad175a5738
[INFO] running `Command { std: "docker" "start" "-a" "dd3aea16196ced77e0c213e2d66ba6233d9d52ba2632a3a29de479ad175a5738", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd3aea16196ced77e0c213e2d66ba6233d9d52ba2632a3a29de479ad175a5738", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd3aea16196ced77e0c213e2d66ba6233d9d52ba2632a3a29de479ad175a5738", kill_on_drop: false }`
[INFO] [stdout] dd3aea16196ced77e0c213e2d66ba6233d9d52ba2632a3a29de479ad175a5738
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86f56f72e0126a69623de58bb4703f82b176bf8f9c7898ac9f35c889bf0fd1c4
[INFO] running `Command { std: "docker" "start" "-a" "86f56f72e0126a69623de58bb4703f82b176bf8f9c7898ac9f35c889bf0fd1c4", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling futures-channel v0.3.16
[INFO] [stderr]    Compiling futures-task v0.3.16
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-sink v0.3.16
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling varinteger v1.0.6
[INFO] [stderr]    Compiling futures-timer v3.0.2
[INFO] [stderr]    Compiling futures-macro v0.3.16
[INFO] [stderr]    Compiling futures-util v0.3.16
[INFO] [stderr]    Compiling tracing-core v0.1.18
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling async-executor v1.4.1
[INFO] [stderr]    Compiling dashmap v4.0.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling bevy_tasks v0.5.0
[INFO] [stderr]    Compiling tracing v0.1.26
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling backroll_transport v0.1.2
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling futures v0.3.16
[INFO] [stderr]    Compiling backroll v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sync.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sync.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |             .find(|(i, saved)| saved.0.lock().frame == frame)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_prediction`
[INFO] [stdout]   --> src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn is_prediction(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `last_confirmed_frame`
[INFO] [stdout]    --> src/input.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn last_confirmed_frame(&self) -> Frame {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_input`
[INFO] [stdout]    --> src/input.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn get_confirmed_input(&self, frame: Frame) -> Option<&FrameInput<T::Input>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_disconnected`
[INFO] [stdout]   --> src/protocol/mod.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `latest`
[INFO] [stdout]    --> src/sync.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn latest(&self) -> Option<SavedCell<T>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_inputs`
[INFO] [stdout]    --> src/sync.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn get_confirmed_inputs(&mut self, frame: Frame) -> GameInput<T::Input> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_last_saved_frame`
[INFO] [stdout]    --> src/sync.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn get_last_saved_frame(&self) -> SavedCell<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.36s
[INFO] running `Command { std: "docker" "inspect" "86f56f72e0126a69623de58bb4703f82b176bf8f9c7898ac9f35c889bf0fd1c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86f56f72e0126a69623de58bb4703f82b176bf8f9c7898ac9f35c889bf0fd1c4", kill_on_drop: false }`
[INFO] [stdout] 86f56f72e0126a69623de58bb4703f82b176bf8f9c7898ac9f35c889bf0fd1c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 78e96f958c407a16d3650a2d68aa72b33fe7629b88c684e470fd51e9fb730a7b
[INFO] running `Command { std: "docker" "start" "-a" "78e96f958c407a16d3650a2d68aa72b33fe7629b88c684e470fd51e9fb730a7b", kill_on_drop: false }`
[INFO] [stderr]    Compiling backroll v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sync.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sync.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |             .find(|(i, saved)| saved.0.lock().frame == frame)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_prediction`
[INFO] [stdout]   --> src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn is_prediction(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `last_confirmed_frame`
[INFO] [stdout]    --> src/input.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn last_confirmed_frame(&self) -> Frame {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_input`
[INFO] [stdout]    --> src/input.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn get_confirmed_input(&self, frame: Frame) -> Option<&FrameInput<T::Input>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_disconnected`
[INFO] [stdout]   --> src/protocol/mod.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `latest`
[INFO] [stdout]    --> src/sync.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn latest(&self) -> Option<SavedCell<T>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_inputs`
[INFO] [stdout]    --> src/sync.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn get_confirmed_inputs(&mut self, frame: Frame) -> GameInput<T::Input> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_last_saved_frame`
[INFO] [stdout]    --> src/sync.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn get_last_saved_frame(&self) -> SavedCell<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sync.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/protocol/input_buffer.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         for i in 0..100 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sync.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |             .find(|(i, saved)| saved.0.lock().frame == frame)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_prediction`
[INFO] [stdout]   --> src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn is_prediction(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `last_confirmed_frame`
[INFO] [stdout]    --> src/input.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn last_confirmed_frame(&self) -> Frame {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_input`
[INFO] [stdout]    --> src/input.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn get_confirmed_input(&self, frame: Frame) -> Option<&FrameInput<T::Input>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_disconnected`
[INFO] [stdout]   --> src/protocol/mod.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `latest`
[INFO] [stdout]    --> src/sync.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn latest(&self) -> Option<SavedCell<T>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_confirmed_inputs`
[INFO] [stdout]    --> src/sync.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn get_confirmed_inputs(&mut self, frame: Frame) -> GameInput<T::Input> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_last_saved_frame`
[INFO] [stdout]    --> src/sync.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn get_last_saved_frame(&self) -> SavedCell<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 5.84s
[INFO] running `Command { std: "docker" "inspect" "78e96f958c407a16d3650a2d68aa72b33fe7629b88c684e470fd51e9fb730a7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78e96f958c407a16d3650a2d68aa72b33fe7629b88c684e470fd51e9fb730a7b", kill_on_drop: false }`
[INFO] [stdout] 78e96f958c407a16d3650a2d68aa72b33fe7629b88c684e470fd51e9fb730a7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 075efeb9b2786b109699041c3fa10eec1224a2565c7758b06a1c18e75e8837b3
[INFO] running `Command { std: "docker" "start" "-a" "075efeb9b2786b109699041c3fa10eec1224a2565c7758b06a1c18e75e8837b3", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/sync.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sync.rs:113:21
[INFO] [stderr]     |
[INFO] [stderr] 113 |             .find(|(i, saved)| saved.0.lock().frame == frame)
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `is_prediction`
[INFO] [stderr]   --> src/input.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn is_prediction(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `last_confirmed_frame`
[INFO] [stderr]    --> src/input.rs:152:12
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub fn last_confirmed_frame(&self) -> Frame {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_confirmed_input`
[INFO] [stderr]    --> src/input.rs:204:12
[INFO] [stderr]     |
[INFO] [stderr] 204 |     pub fn get_confirmed_input(&self, frame: Frame) -> Option<&FrameInput<T::Input>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `is_disconnected`
[INFO] [stderr]   --> src/protocol/mod.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn is_disconnected(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `latest`
[INFO] [stderr]    --> src/sync.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn latest(&self) -> Option<SavedCell<T>> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_confirmed_inputs`
[INFO] [stderr]    --> src/sync.rs:235:12
[INFO] [stderr]     |
[INFO] [stderr] 235 |     pub fn get_confirmed_inputs(&mut self, frame: Frame) -> GameInput<T::Input> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_last_saved_frame`
[INFO] [stderr]    --> src/sync.rs:276:12
[INFO] [stderr]     |
[INFO] [stderr] 276 |     pub fn get_last_saved_frame(&self) -> SavedCell<T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 9 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/sync.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/protocol/input_buffer.rs:246:13
[INFO] [stderr]     |
[INFO] [stderr] 246 |         for i in 0..100 {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sync.rs:113:21
[INFO] [stderr]     |
[INFO] [stderr] 113 |             .find(|(i, saved)| saved.0.lock().frame == frame)
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `is_prediction`
[INFO] [stderr]   --> src/input.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn is_prediction(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `last_confirmed_frame`
[INFO] [stderr]    --> src/input.rs:152:12
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub fn last_confirmed_frame(&self) -> Frame {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_confirmed_input`
[INFO] [stderr]    --> src/input.rs:204:12
[INFO] [stderr]     |
[INFO] [stderr] 204 |     pub fn get_confirmed_input(&self, frame: Frame) -> Option<&FrameInput<T::Input>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `is_disconnected`
[INFO] [stderr]   --> src/protocol/mod.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn is_disconnected(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `latest`
[INFO] [stderr]    --> src/sync.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn latest(&self) -> Option<SavedCell<T>> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_confirmed_inputs`
[INFO] [stderr]    --> src/sync.rs:235:12
[INFO] [stderr]     |
[INFO] [stderr] 235 |     pub fn get_confirmed_inputs(&mut self, frame: Frame) -> GameInput<T::Input> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_last_saved_frame`
[INFO] [stderr]    --> src/sync.rs:276:12
[INFO] [stderr]     |
[INFO] [stderr] 276 |     pub fn get_last_saved_frame(&self) -> SavedCell<T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 10 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/backroll-33ee70552f047680)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test protocol::bitfield::test::test_decode ... ok
[INFO] [stdout] test protocol::bitfield::test::test_encode ... ok
[INFO] [stdout] test protocol::bitfield::test::test_should_encode_decode ... ok
[INFO] [stdout] test protocol::bitfield::test::test_not_power_of_two ... ok
[INFO] [stdout] test protocol::compression::test::test_empty_buffer ... ok
[INFO] [stdout] test protocol::bitfield::test::test_encodes_empty_bitfield ... ok
[INFO] [stdout] test protocol::bitfield::test::test_does_not_trims_remaining_bytes ... ok
[INFO] [stdout] test protocol::bitfield::test::test_decode_len ... ok
[INFO] [stdout] test protocol::input_buffer::test::test_empty_buffer ... ok
[INFO] [stdout] test protocol::compression::test::test_same_input_compresses_down ... ok
[INFO] [stdout] test protocol::input_buffer::test::test_same_input_compresses_down ... ok
[INFO] [stdout] test protocol::input_buffer::test::test_encodes_the_same_until_acknowledged ... ok
[INFO] [stdout] test protocol::compression::test::test_random_data ... ok
[INFO] [stdout] test protocol::input_buffer::test::test_random_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests backroll
[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" "075efeb9b2786b109699041c3fa10eec1224a2565c7758b06a1c18e75e8837b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "075efeb9b2786b109699041c3fa10eec1224a2565c7758b06a1c18e75e8837b3", kill_on_drop: false }`
[INFO] [stdout] 075efeb9b2786b109699041c3fa10eec1224a2565c7758b06a1c18e75e8837b3
