[INFO] cloning repository https://github.com/pros-rs/pros-simulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pros-rs/pros-simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpros-rs%2Fpros-simulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpros-rs%2Fpros-simulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b596f304fef5f8a516c84488aa9e3ca97c2a7ae6
[INFO] testing pros-rs/pros-simulator against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpros-rs%2Fpros-simulator" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pros-rs/pros-simulator
[INFO] finished tweaking git repo https://github.com/pros-rs/pros-simulator
[INFO] tweaked toml for git repo https://github.com/pros-rs/pros-simulator written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pros-rs/pros-simulator on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pros-rs/pros-simulator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded errno v0.3.7
[INFO] [stderr]   Downloaded wasmtime-component-util v16.0.0
[INFO] [stderr]   Downloaded wasmtime-wmemcheck v16.0.0
[INFO] [stderr]   Downloaded tui-big-text v0.2.1
[INFO] [stderr]   Downloaded font8x8 v0.3.1
[INFO] [stderr]   Downloaded cranelift-isle v0.103.0
[INFO] [stderr]   Downloaded clap_builder v4.4.9
[INFO] [stderr]   Downloaded wasmtime-jit-icache-coherence v16.0.0
[INFO] [stderr]   Downloaded jsonl v4.0.1
[INFO] [stderr]   Downloaded wasmtime-wit-bindgen v16.0.0
[INFO] [stderr]   Downloaded lru v0.12.1
[INFO] [stderr]   Downloaded wasmtime-cranelift v16.0.0
[INFO] [stderr]   Downloaded clap v4.4.9
[INFO] [stderr]   Downloaded wasm-encoder v0.38.1
[INFO] [stderr]   Downloaded wasmtime-versioned-export-macros v16.0.0
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.103.0
[INFO] [stderr]   Downloaded wit-parser v0.13.0
[INFO] [stderr]   Downloaded cranelift-frontend v0.103.0
[INFO] [stderr]   Downloaded cranelift-control v0.103.0
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.11
[INFO] [stderr]   Downloaded cranelift-entity v0.103.0
[INFO] [stderr]   Downloaded ratatui v0.24.0
[INFO] [stderr]   Downloaded snafu v0.8.0
[INFO] [stderr]   Downloaded regalloc2 v0.9.3
[INFO] [stderr]   Downloaded wasmtime v16.0.0
[INFO] [stderr]   Downloaded wasmtime-asm-macros v16.0.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.26
[INFO] [stderr]   Downloaded snafu-derive v0.8.0
[INFO] [stderr]   Downloaded cranelift-bforest v0.103.0
[INFO] [stderr]   Downloaded wasmtime-cranelift-shared v16.0.0
[INFO] [stderr]   Downloaded wasmparser v0.118.1
[INFO] [stderr]   Downloaded rustix v0.38.25
[INFO] [stderr]   Downloaded wasmtime-runtime v16.0.0
[INFO] [stderr]   Downloaded wasmtime-environ v16.0.0
[INFO] [stderr]   Downloaded zerocopy v0.7.26
[INFO] [stderr]   Downloaded cranelift-wasm v0.103.0
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.103.0
[INFO] [stderr]   Downloaded cranelift-codegen v0.103.0
[INFO] [stderr]   Downloaded wasmtime-types v16.0.0
[INFO] [stderr]   Downloaded wasmtime-fiber v16.0.0
[INFO] [stderr]   Downloaded wasmtime-component-macro v16.0.0
[INFO] [stderr]   Downloaded cranelift-native v0.103.0
[INFO] [stderr]   Downloaded wasmtime-jit v16.0.0
[INFO] [stderr]   Downloaded pros-sys v0.4.1
[INFO] [stderr]   Downloaded tui-logger v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52d1ce85264ace6a773294e6b13b01111504032555e5782be64eb62b7c5a4cd4
[INFO] running `Command { std: "docker" "start" "-a" "52d1ce85264ace6a773294e6b13b01111504032555e5782be64eb62b7c5a4cd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52d1ce85264ace6a773294e6b13b01111504032555e5782be64eb62b7c5a4cd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52d1ce85264ace6a773294e6b13b01111504032555e5782be64eb62b7c5a4cd4", kill_on_drop: false }`
[INFO] [stdout] 52d1ce85264ace6a773294e6b13b01111504032555e5782be64eb62b7c5a4cd4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7b6ce9d7a0a4a9a1a38ecd426d52f6fcbd3539b57aa85e0497782a96190075a
[INFO] running `Command { std: "docker" "start" "-a" "a7b6ce9d7a0a4a9a1a38ecd426d52f6fcbd3539b57aa85e0497782a96190075a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling zerocopy v0.7.26
[INFO] [stderr]    Compiling target-lexicon v0.12.12
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling cranelift-isle v0.103.0
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.103.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling slice-group-by v0.3.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling arbitrary v1.3.2
[INFO] [stderr]    Compiling smallvec v1.11.2
[INFO] [stderr]    Compiling bumpalo v3.14.0
[INFO] [stderr]    Compiling rustix v0.38.25
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.103.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.11
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling wasmtime-asm-macros v16.0.0
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling cpp_demangle v0.3.5
[INFO] [stderr]    Compiling wasm-encoder v0.38.1
[INFO] [stderr]    Compiling sptr v0.3.2
[INFO] [stderr]    Compiling hashbrown v0.14.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling wasmtime-wmemcheck v16.0.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.2
[INFO] [stderr]    Compiling pros-sys v0.4.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling cranelift-control v0.103.0
[INFO] [stderr]    Compiling wasmtime-jit-icache-coherence v16.0.0
[INFO] [stderr]    Compiling anstream v0.6.4
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling clap_builder v4.4.9
[INFO] [stderr]    Compiling regalloc2 v0.9.3
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling cranelift-codegen v0.103.0
[INFO] [stderr]    Compiling memfd v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling wasmtime-versioned-export-macros v16.0.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling snafu-derive v0.8.0
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]    Compiling wasmtime-fiber v16.0.0
[INFO] [stderr]    Compiling wasmtime-runtime v16.0.0
[INFO] [stderr]    Compiling tokio v1.34.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling snafu v0.8.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling clap v4.4.9
[INFO] [stderr]    Compiling futures-executor v0.3.29
[INFO] [stderr]    Compiling futures v0.3.29
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling cranelift-entity v0.103.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling pros-simulator-interface v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator-interface)
[INFO] [stderr]    Compiling cranelift-bforest v0.103.0
[INFO] [stderr]    Compiling gimli v0.28.0
[INFO] [stderr]    Compiling wasmparser v0.118.1
[INFO] [stderr]    Compiling object v0.32.1
[INFO] [stderr]    Compiling jsonl v4.0.1
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling wasmtime-types v16.0.0
[INFO] [stderr]    Compiling wasmtime-environ v16.0.0
[INFO] [stderr]    Compiling wasmtime-jit v16.0.0
[INFO] [stderr]    Compiling cranelift-native v0.103.0
[INFO] [stderr]    Compiling cranelift-frontend v0.103.0
[INFO] [stderr]    Compiling wasmtime-cranelift-shared v16.0.0
[INFO] [stderr]    Compiling cranelift-wasm v0.103.0
[INFO] [stderr]    Compiling wasmtime-cranelift v16.0.0
[INFO] [stderr]    Compiling wasmtime v16.0.0
[INFO] [stderr]    Compiling pros-simulator v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator)
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn configure_generic_io_api(linker: &mut Linker<Host>) -> anyhow::Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: WasmTy` will fail
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     linker.func_wrap1_async("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 26 ~     linker.func_wrap1_async::<_, ()>("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout] 27 |         Box::new(async move {
[INFO] [stdout] ...
[INFO] [stdout] 72 |
[INFO] [stdout] 73 ~     linker.func_wrap1_async::<_, ()>("env", "exit", |caller: Caller<'_, Host>, code: i32| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 120 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout] 120 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:122:27
[INFO] [stdout]     |
[INFO] [stdout] 122 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 122 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout] 122 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:124:25
[INFO] [stdout]     |
[INFO] [stdout] 124 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 124 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout] 124 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 128 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout] 128 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:130:37
[INFO] [stdout]     |
[INFO] [stdout] 130 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 130 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout] 130 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 151 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 151 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 159 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 159 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 167 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 167 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 183 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 191 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 191 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:217:23
[INFO] [stdout]     |
[INFO] [stdout] 217 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 217 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 217 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 225 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 225 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 233 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 233 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:249:31
[INFO] [stdout]     |
[INFO] [stdout] 249 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 249 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 249 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:257:37
[INFO] [stdout]     |
[INFO] [stdout] 257 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 257 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 257 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pros-simulator-server v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator-server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pros-simulator v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "a7b6ce9d7a0a4a9a1a38ecd426d52f6fcbd3539b57aa85e0497782a96190075a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7b6ce9d7a0a4a9a1a38ecd426d52f6fcbd3539b57aa85e0497782a96190075a", kill_on_drop: false }`
[INFO] [stdout] a7b6ce9d7a0a4a9a1a38ecd426d52f6fcbd3539b57aa85e0497782a96190075a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 340d2dabb612cda90ff3f27c4d79fd314429fbf0f0fbda3e054e85c93fc780b4
[INFO] running `Command { std: "docker" "start" "-a" "340d2dabb612cda90ff3f27c4d79fd314429fbf0f0fbda3e054e85c93fc780b4", kill_on_drop: false }`
[INFO] [stderr]    Compiling allocator-api2 v0.2.16
[INFO] [stderr]    Compiling regalloc2 v0.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling mio v0.8.9
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling indoc v2.0.4
[INFO] [stderr]    Compiling thread_local v1.1.7
[INFO] [stderr]    Compiling iana-time-zone v0.1.58
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling tokio v1.34.0
[INFO] [stderr]    Compiling hashbrown v0.14.2
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling font8x8 v0.3.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling pros-simulator-interface v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator-interface)
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling lru v0.12.1
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling gimli v0.28.0
[INFO] [stderr]    Compiling wasmparser v0.118.1
[INFO] [stderr]    Compiling object v0.32.1
[INFO] [stderr]    Compiling ratatui v0.24.0
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling tui-logger v0.10.0
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling cranelift-codegen v0.103.0
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling derive_builder_core v0.12.0
[INFO] [stderr]    Compiling wasmtime-types v16.0.0
[INFO] [stderr]    Compiling wasmtime-environ v16.0.0
[INFO] [stderr]    Compiling derive_builder_macro v0.12.0
[INFO] [stderr]    Compiling derive_builder v0.12.0
[INFO] [stderr]    Compiling tui-big-text v0.2.1
[INFO] [stderr]    Compiling wasmtime-runtime v16.0.0
[INFO] [stderr]    Compiling wasmtime-jit v16.0.0
[INFO] [stderr]    Compiling cranelift-frontend v0.103.0
[INFO] [stderr]    Compiling cranelift-native v0.103.0
[INFO] [stderr]    Compiling wasmtime-cranelift-shared v16.0.0
[INFO] [stderr]    Compiling cranelift-wasm v0.103.0
[INFO] [stderr]    Compiling wasmtime-cranelift v16.0.0
[INFO] [stderr]    Compiling wasmtime v16.0.0
[INFO] [stderr]    Compiling pros-simulator v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator)
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn configure_generic_io_api(linker: &mut Linker<Host>) -> anyhow::Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: WasmTy` will fail
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     linker.func_wrap1_async("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 26 ~     linker.func_wrap1_async::<_, ()>("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout] 27 |         Box::new(async move {
[INFO] [stdout] ...
[INFO] [stdout] 72 |
[INFO] [stdout] 73 ~     linker.func_wrap1_async::<_, ()>("env", "exit", |caller: Caller<'_, Host>, code: i32| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn configure_generic_io_api(linker: &mut Linker<Host>) -> anyhow::Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: WasmTy` will fail
[INFO] [stdout]   --> packages/pros-simulator/src/api/generic_io.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     linker.func_wrap1_async("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 26 ~     linker.func_wrap1_async::<_, ()>("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stdout] 27 |         Box::new(async move {
[INFO] [stdout] ...
[INFO] [stdout] 72 |
[INFO] [stdout] 73 ~     linker.func_wrap1_async::<_, ()>("env", "exit", |caller: Caller<'_, Host>, code: i32| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 120 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout] 120 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:122:27
[INFO] [stdout]     |
[INFO] [stdout] 122 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 122 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout] 122 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:124:25
[INFO] [stdout]     |
[INFO] [stdout] 124 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 124 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout] 124 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 128 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout] 128 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:130:37
[INFO] [stdout]     |
[INFO] [stdout] 130 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 130 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout] 130 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 151 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 151 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 159 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 159 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 167 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 167 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 183 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 191 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 191 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:217:23
[INFO] [stdout]     |
[INFO] [stdout] 217 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 217 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 217 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 225 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 225 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 233 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 233 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:249:31
[INFO] [stdout]     |
[INFO] [stdout] 249 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 249 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 249 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:257:37
[INFO] [stdout]     |
[INFO] [stdout] 257 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 257 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 257 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 120 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stdout] 120 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:122:27
[INFO] [stdout]     |
[INFO] [stdout] 122 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 122 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stdout] 122 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:124:25
[INFO] [stdout]     |
[INFO] [stdout] 124 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 124 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stdout] 124 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 128 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stdout] 128 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:130:37
[INFO] [stdout]     |
[INFO] [stdout] 130 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 130 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stdout] 130 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 151 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 151 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:159:27
[INFO] [stdout]     |
[INFO] [stdout] 159 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 159 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 159 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 167 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 167 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 183 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 183 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 191 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 191 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:217:23
[INFO] [stdout]     |
[INFO] [stdout] 217 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout]     |                       ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 217 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stdout] 217 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout]     |                           ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 225 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stdout] 225 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout]     |                         ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 233 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stdout] 233 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:249:31
[INFO] [stdout]     |
[INFO] [stdout] 249 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout]     |                               ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 249 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stdout] 249 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> packages/pros-simulator/src/host.rs:257:37
[INFO] [stdout]     |
[INFO] [stdout] 257 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]     |
[INFO] [stdout] 257 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stdout] 257 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pros-simulator-server v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator-server)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.84s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pros-simulator v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "340d2dabb612cda90ff3f27c4d79fd314429fbf0f0fbda3e054e85c93fc780b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "340d2dabb612cda90ff3f27c4d79fd314429fbf0f0fbda3e054e85c93fc780b4", kill_on_drop: false }`
[INFO] [stdout] 340d2dabb612cda90ff3f27c4d79fd314429fbf0f0fbda3e054e85c93fc780b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c817dbf3ffd5fae5595faa8e5c1dc5a5cabdd9f2e5bf2b49f20008e4a0e91c78
[INFO] running `Command { std: "docker" "start" "-a" "c817dbf3ffd5fae5595faa8e5c1dc5a5cabdd9f2e5bf2b49f20008e4a0e91c78", kill_on_drop: false }`
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]   --> packages/pros-simulator/src/api/generic_io.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn configure_generic_io_api(linker: &mut Linker<Host>) -> anyhow::Result<()> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr]    = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: WasmTy` will fail
[INFO] [stderr]   --> packages/pros-simulator/src/api/generic_io.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 26 |     linker.func_wrap1_async("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]    |
[INFO] [stderr] 26 ~     linker.func_wrap1_async::<_, ()>("env", "sim_abort", |caller: Caller<'_, Host>, msg: u32| {
[INFO] [stderr] 27 |         Box::new(async move {
[INFO] [stderr] ...
[INFO] [stderr] 72 |
[INFO] [stderr] 73 ~     linker.func_wrap1_async::<_, ()>("env", "exit", |caller: Caller<'_, Host>, code: i32| {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:120:23
[INFO] [stderr]     |
[INFO] [stderr] 120 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stderr]     |                       ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 120 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd>;
[INFO] [stderr] 120 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd>;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:122:27
[INFO] [stderr]     |
[INFO] [stderr] 122 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stderr]     |                           ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 122 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool>;
[INFO] [stderr] 122 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool>;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:124:25
[INFO] [stderr]     |
[INFO] [stderr] 124 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stderr]     |                         ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 124 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool>;
[INFO] [stderr] 124 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool>;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:128:31
[INFO] [stderr]     |
[INFO] [stderr] 128 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stderr]     |                               ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 128 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers>;
[INFO] [stderr] 128 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers>;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:130:37
[INFO] [stderr]     |
[INFO] [stderr] 130 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stderr]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 130 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase>;
[INFO] [stderr] 130 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase>;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:151:23
[INFO] [stderr]     |
[INFO] [stderr] 151 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stderr]     |                       ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 151 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stderr] 151 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:159:27
[INFO] [stderr]     |
[INFO] [stderr] 159 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stderr]     |                           ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 159 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stderr] 159 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:167:25
[INFO] [stderr]     |
[INFO] [stderr] 167 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stderr]     |                         ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 167 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stderr] 167 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:183:31
[INFO] [stderr]     |
[INFO] [stderr] 183 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stderr]     |                               ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 183 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stderr] 183 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:191:37
[INFO] [stderr]     |
[INFO] [stderr] 191 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stderr]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 191 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stderr] 191 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:217:23
[INFO] [stderr]     |
[INFO] [stderr] 217 |     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stderr]     |                       ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 217 -     async fn lcd_lock(&self) -> MutexGuard<'_, Lcd> {
[INFO] [stderr] 217 +     async fn lcd_lock(&self) -> MutexGuard<'life0, Lcd> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:225:27
[INFO] [stderr]     |
[INFO] [stderr] 225 |     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stderr]     |                           ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 225 -     async fn mutexes_lock(&self) -> MutexGuard<'_, MutexPool> {
[INFO] [stderr] 225 +     async fn mutexes_lock(&self) -> MutexGuard<'life0, MutexPool> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:233:25
[INFO] [stderr]     |
[INFO] [stderr] 233 |     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stderr]     |                         ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 233 -     async fn tasks_lock(&self) -> MutexGuard<'_, TaskPool> {
[INFO] [stderr] 233 +     async fn tasks_lock(&self) -> MutexGuard<'life0, TaskPool> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:249:31
[INFO] [stderr]     |
[INFO] [stderr] 249 |     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stderr]     |                               ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 249 -     async fn controllers_lock(&self) -> MutexGuard<'_, Controllers> {
[INFO] [stderr] 249 +     async fn controllers_lock(&self) -> MutexGuard<'life0, Controllers> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> packages/pros-simulator/src/host.rs:257:37
[INFO] [stderr]     |
[INFO] [stderr] 257 |     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stderr]     |                                     ^                    -- the same lifetime is elided here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]     |
[INFO] [stderr] 257 -     async fn competition_phase_lock(&self) -> MutexGuard<'_, CompetitionPhase> {
[INFO] [stderr] 257 +     async fn competition_phase_lock(&self) -> MutexGuard<'life0, CompetitionPhase> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `pros-simulator` (lib) generated 16 warnings (run `cargo fix --lib -p pros-simulator` to apply 1 suggestion)
[INFO] [stderr] warning: `pros-simulator` (lib test) generated 16 warnings (16 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pros-simulator v0.5.0 (/opt/rustwide/workdir/packages/pros-simulator)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pros_simulator-b64716df5808f3e9)
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pros_simulator_interface-d5e166be6f1918ac)
[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] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pros_simulator_server-b045e9ba37c4ac03)
[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] [stderr]    Doc-tests pros_simulator
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test packages/pros-simulator/src/host.rs - host::ResultExt::unwrap_or_errno (line 293) ... ignored
[INFO] [stdout] test packages/pros-simulator/src/host.rs - host::ResultExt::unwrap_or_errno_as (line 304) ... ignored
[INFO] [stdout] test packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_digital_new_press (line 219) ... ignored
[INFO] [stdout] test packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_analog (line 130) ... FAILED
[INFO] [stdout] test packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_digital (line 169) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_analog (line 130) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `controllers` in this scope
[INFO] [stdout]  --> packages/pros-simulator/src/host/controllers.rs:131:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | if controllers.get_analog(pros_sys::E_CONTROLLER_MASTER, pros_sys::E_CONTROLLER_ANALOG_LEFT_X)? > 0 {
[INFO] [stdout]   |    ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 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] ---- packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_digital (line 169) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `controllers` in this scope
[INFO] [stdout]  --> packages/pros-simulator/src/host/controllers.rs:170:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | if controllers.get_digital(pros_sys::E_CONTROLLER_MASTER, pros_sys::E_CONTROLLER_DIGITAL_X)? {
[INFO] [stdout]   |    ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 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] 
[INFO] [stdout] failures:
[INFO] [stdout]     packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_analog (line 130)
[INFO] [stdout]     packages/pros-simulator/src/host/controllers.rs - host::controllers::Controllers::get_digital (line 169)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `-p pros-simulator --doc`
[INFO] running `Command { std: "docker" "inspect" "c817dbf3ffd5fae5595faa8e5c1dc5a5cabdd9f2e5bf2b49f20008e4a0e91c78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c817dbf3ffd5fae5595faa8e5c1dc5a5cabdd9f2e5bf2b49f20008e4a0e91c78", kill_on_drop: false }`
[INFO] [stdout] c817dbf3ffd5fae5595faa8e5c1dc5a5cabdd9f2e5bf2b49f20008e4a0e91c78
