[INFO] fetching crate cuivre 0.1.4...
[INFO] testing cuivre-0.1.4 against 1.54.0 for beta-1.55-1
[INFO] extracting crate cuivre 0.1.4 into /workspace/builds/worker-89/source
[INFO] validating manifest of crates.io crate cuivre 0.1.4 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 cuivre 0.1.4
[INFO] finished tweaking crates.io crate cuivre 0.1.4
[INFO] tweaked toml for crates.io crate cuivre 0.1.4 written to /workspace/builds/worker-89/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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded png v0.12.0
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded image v0.19.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] [stderr]   Downloaded gif v0.10.3
[INFO] [stderr]   Downloaded sdl2-sys v0.31.0
[INFO] [stderr]   Downloaded gl_generator v0.9.0
[INFO] [stderr]   Downloaded gl v0.10.0
[INFO] [stderr]   Downloaded rusttype v0.6.5
[INFO] [stderr]   Downloaded xml-rs v0.7.0
[INFO] [stderr]   Downloaded sdl2 v0.31.0
[INFO] [stderr]   Downloaded ron v0.4.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/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] 0f37dea44b60bee0569088657982e9e0a352bb92c4f7962a354566c7191571d7
[INFO] running `Command { std: "docker" "start" "-a" "0f37dea44b60bee0569088657982e9e0a352bb92c4f7962a354566c7191571d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f37dea44b60bee0569088657982e9e0a352bb92c4f7962a354566c7191571d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f37dea44b60bee0569088657982e9e0a352bb92c4f7962a354566c7191571d7", kill_on_drop: false }`
[INFO] [stdout] 0f37dea44b60bee0569088657982e9e0a352bb92c4f7962a354566c7191571d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/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] 5112a32e9633c9d5b0d93b27a7f6c99b42fbe3ec8b3851ec1f19d90914206e01
[INFO] running `Command { std: "docker" "start" "-a" "5112a32e9633c9d5b0d93b27a7f6c99b42fbe3ec8b3851ec1f19d90914206e01", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling approx v0.1.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling sdl2-sys v0.31.0
[INFO] [stderr]    Compiling stb_truetype v0.3.1
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling gif v0.10.3
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling ordered-float v1.1.1
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling rusttype v0.8.3
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling png v0.12.0
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling rusttype v0.7.9
[INFO] [stderr]    Compiling sdl2 v0.31.0
[INFO] [stderr]    Compiling rusttype v0.6.5
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling image v0.19.0
[INFO] [stderr]    Compiling ron v0.4.2
[INFO] [stderr]    Compiling cuivre v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/shaders.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` 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 the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 23.97s
[INFO] running `Command { std: "docker" "inspect" "5112a32e9633c9d5b0d93b27a7f6c99b42fbe3ec8b3851ec1f19d90914206e01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5112a32e9633c9d5b0d93b27a7f6c99b42fbe3ec8b3851ec1f19d90914206e01", kill_on_drop: false }`
[INFO] [stdout] 5112a32e9633c9d5b0d93b27a7f6c99b42fbe3ec8b3851ec1f19d90914206e01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/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] 6bad56ca1640aef748615c0882551d6536a18ceb00f47fcf165146135ed44881
[INFO] running `Command { std: "docker" "start" "-a" "6bad56ca1640aef748615c0882551d6536a18ceb00f47fcf165146135ed44881", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling cuivre v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/shaders.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` 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 the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/shaders.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` 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 the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/graphics/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.33s
[INFO] running `Command { std: "docker" "inspect" "6bad56ca1640aef748615c0882551d6536a18ceb00f47fcf165146135ed44881", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bad56ca1640aef748615c0882551d6536a18ceb00f47fcf165146135ed44881", kill_on_drop: false }`
[INFO] [stdout] 6bad56ca1640aef748615c0882551d6536a18ceb00f47fcf165146135ed44881
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-89/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] 92e698e07f7155e4b902dbdfbac64c9bb9112ae375e2daa4d42e81dad0e348da
[INFO] running `Command { std: "docker" "start" "-a" "92e698e07f7155e4b902dbdfbac64c9bb9112ae375e2daa4d42e81dad0e348da", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/graphics/shaders.rs:51:32
[INFO] [stderr]    |
[INFO] [stderr] 51 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` 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 the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/graphics/mod.rs:56:32
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/graphics/shaders.rs:51:32
[INFO] [stderr]    |
[INFO] [stderr] 51 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` 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 the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/graphics/mod.rs:56:32
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/cuivre-c913c1517d5fc738)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cuivre
[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] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/input.rs - input::InputManager::set_keybind (line 215) ... FAILED
[INFO] [stdout] test src/input.rs - input::InputManager::clear_keybind (line 226) ... FAILED
[INFO] [stdout] test src/input.rs - input::InputManager::key (line 175) ... FAILED
[INFO] [stdout] test src/input.rs - input::InputManager::keybind (line 199) ... FAILED
[INFO] [stdout] test src/input.rs - input::InputManager::button (line 240) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/input.rs - input::InputManager::set_keybind (line 215) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Keycode`
[INFO] [stdout]  --> src/input.rs:216:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | input_manager.set_keybind("Space", Keycode::Space);
[INFO] [stdout]   |                                    ^^^^^^^ use of undeclared type `Keycode`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `input_manager` in this scope
[INFO] [stdout]  --> src/input.rs:216:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | input_manager.set_keybind("Space", Keycode::Space);
[INFO] [stdout]   | ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/input.rs - input::InputManager::clear_keybind (line 226) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `input_manager` in this scope
[INFO] [stdout]  --> src/input.rs:227:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | input_manager.clear_keybind("Space");
[INFO] [stdout]   | ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/input.rs - input::InputManager::key (line 175) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Keycode`
[INFO] [stdout]  --> src/input.rs:176:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | if input_manager.key(Keycode::Space)?.pressed() {
[INFO] [stdout]   |                      ^^^^^^^ use of undeclared type `Keycode`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `input_manager` in this scope
[INFO] [stdout]  --> src/input.rs:176:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | if input_manager.key(Keycode::Space)?.pressed() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/input.rs:176:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |   fn main() { #[allow(non_snake_case)] fn _doctest_main_src_input_rs_175_0() {
[INFO] [stdout]   |  ______________________________________-
[INFO] [stdout] 3 | | if input_manager.key(Keycode::Space)?.pressed() {
[INFO] [stdout]   | |                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout] 4 | |     println!("Space pressed!");
[INFO] [stdout] 5 | | }
[INFO] [stdout] 6 | | } _doctest_main_src_input_rs_175_0() }
[INFO] [stdout]   | |_- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]   |
[INFO] [stdout]   = help: the trait `FromResidual<_>` is not implemented for `()`
[INFO] [stdout]   = note: required by `from_residual`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/input.rs - input::InputManager::keybind (line 199) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `input_manager` in this scope
[INFO] [stdout]  --> src/input.rs:200:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | if input_manager.keybind("Space")?.pressed() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/input.rs:200:34
[INFO] [stdout]   |
[INFO] [stdout] 2 |   fn main() { #[allow(non_snake_case)] fn _doctest_main_src_input_rs_199_0() {
[INFO] [stdout]   |  ______________________________________-
[INFO] [stdout] 3 | | if input_manager.keybind("Space")?.pressed() {
[INFO] [stdout]   | |                                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout] 4 | |     println!("Space pressed!");
[INFO] [stdout] 5 | | }
[INFO] [stdout] 6 | | } _doctest_main_src_input_rs_199_0() }
[INFO] [stdout]   | |_- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]   |
[INFO] [stdout]   = help: the trait `FromResidual<_>` is not implemented for `()`
[INFO] [stdout]   = note: required by `from_residual`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/input.rs - input::InputManager::button (line 240) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MouseButton`
[INFO] [stdout]  --> src/input.rs:241:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | if input_manager.button(MouseButton::Right)?.released() {
[INFO] [stdout]   |                         ^^^^^^^^^^^ use of undeclared type `MouseButton`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `input_manager` in this scope
[INFO] [stdout]  --> src/input.rs:241:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | if input_manager.button(MouseButton::Right)?.released() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/input.rs:241:44
[INFO] [stdout]   |
[INFO] [stdout] 2 |   fn main() { #[allow(non_snake_case)] fn _doctest_main_src_input_rs_240_0() {
[INFO] [stdout]   |  ______________________________________-
[INFO] [stdout] 3 | | if input_manager.button(MouseButton::Right)?.released() {
[INFO] [stdout]   | |                                            ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout] 4 | |     println!("Right click released!");
[INFO] [stdout] 5 | | }
[INFO] [stdout] 6 | | } _doctest_main_src_input_rs_240_0() }
[INFO] [stdout]   | |_- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]   |
[INFO] [stdout]   = help: the trait `FromResidual<_>` is not implemented for `()`
[INFO] [stdout]   = note: required by `from_residual`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/input.rs - input::InputManager::button (line 240)
[INFO] [stdout]     src/input.rs - input::InputManager::clear_keybind (line 226)
[INFO] [stdout]     src/input.rs - input::InputManager::key (line 175)
[INFO] [stdout]     src/input.rs - input::InputManager::keybind (line 199)
[INFO] [stdout]     src/input.rs - input::InputManager::set_keybind (line 215)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "92e698e07f7155e4b902dbdfbac64c9bb9112ae375e2daa4d42e81dad0e348da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92e698e07f7155e4b902dbdfbac64c9bb9112ae375e2daa4d42e81dad0e348da", kill_on_drop: false }`
[INFO] [stdout] 92e698e07f7155e4b902dbdfbac64c9bb9112ae375e2daa4d42e81dad0e348da
