[INFO] cloning repository https://github.com/fox-two/nesmu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fox-two/nesmu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffox-two%2Fnesmu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffox-two%2Fnesmu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 003395b9add0addb6289f0e43c736aca67a86c17
[INFO] checking fox-two/nesmu against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffox-two%2Fnesmu" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fox-two/nesmu
[INFO] finished tweaking git repo https://github.com/fox-two/nesmu
[INFO] tweaked toml for git repo https://github.com/fox-two/nesmu written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fox-two/nesmu on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fox-two/nesmu 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dlib v0.5.0
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded futures-io v0.3.25
[INFO] [stderr]   Downloaded futures-macro v0.3.25
[INFO] [stderr]   Downloaded is-terminal v0.4.1
[INFO] [stderr]   Downloaded raw-window-handle v0.3.4
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded xml-rs v0.8.4
[INFO] [stderr]   Downloaded errno v0.2.8
[INFO] [stderr]   Downloaded futures-executor v0.3.25
[INFO] [stderr]   Downloaded cmake v0.1.49
[INFO] [stderr]   Downloaded io-lifetimes v1.0.3
[INFO] [stderr]   Downloaded env_logger v0.10.0
[INFO] [stderr]   Downloaded cc v1.0.77
[INFO] [stderr]   Downloaded serde_derive v1.0.149
[INFO] [stderr]   Downloaded serde v1.0.149
[INFO] [stderr]   Downloaded x11-dl v2.20.1
[INFO] [stderr]   Downloaded nom v7.1.1
[INFO] [stderr]   Downloaded minifb v0.23.0
[INFO] [stderr]   Downloaded futures v0.3.25
[INFO] [stderr]   Downloaded sdl2 v0.35.2
[INFO] [stderr]   Downloaded regex v1.7.0
[INFO] [stderr]   Downloaded syn v1.0.105
[INFO] [stderr]   Downloaded rustix v0.36.5
[INFO] [stderr]   Downloaded regex-syntax v0.6.28
[INFO] [stderr]   Downloaded libc v0.2.138
[INFO] [stderr]   Downloaded linux-raw-sys v0.1.3
[INFO] [stderr]   Downloaded orbclient v0.3.42
[INFO] [stderr]   Downloaded sdl2-sys v0.35.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d07404579438a6343146af77eefdbb6c127f1ccabd754946e5ab21b7e40064ab
[INFO] running `Command { std: "docker" "start" "-a" "d07404579438a6343146af77eefdbb6c127f1ccabd754946e5ab21b7e40064ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d07404579438a6343146af77eefdbb6c127f1ccabd754946e5ab21b7e40064ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d07404579438a6343146af77eefdbb6c127f1ccabd754946e5ab21b7e40064ab", kill_on_drop: false }`
[INFO] [stdout] d07404579438a6343146af77eefdbb6c127f1ccabd754946e5ab21b7e40064ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd3d89713ea898d5d6355d73da9d31de19fbd751540c0c0ef47f022a3a47bfd0
[INFO] running `Command { std: "docker" "start" "-a" "fd3d89713ea898d5d6355d73da9d31de19fbd751540c0c0ef47f022a3a47bfd0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.138
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking once_cell v1.16.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.3
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling rustix v0.36.5
[INFO] [stderr]    Compiling x11-dl v2.20.1
[INFO] [stderr]     Checking linux-raw-sys v0.1.3
[INFO] [stderr]    Compiling cc v1.0.77
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking fastrand v1.8.0
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]    Compiling minifb v0.23.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking tempfile v3.3.0
[INFO] [stderr]     Checking is-terminal v0.4.1
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking nesmu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `CpuMemoryRead` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait CpuMemoryRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CpuMemoryWrite` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait CpuMemoryWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadInterface` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 | trait ReadInterface<'a, T: CpuMemory> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadInterfaceBytesRead` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:137:7
[INFO] [stdout]     |
[INFO] [stdout] 137 | trait ReadInterfaceBytesRead {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccumulatorOperand` is never constructed
[INFO] [stdout]    --> src/cpu/mod.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct AccumulatorOperand;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ines_rom_file.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IOError(std::io::Error),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenRomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     IOError(std::io::Error),
[INFO] [stdout] 26 +     IOError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn ppu_drawing_context(&mut self) -> PPUDrawingContext {
[INFO] [stdout]     |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn ppu_drawing_context(&mut self) -> PPUDrawingContext<'_> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:193:56
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn cpu_context<'a>(&'a mut self) -> CpuContext<'a, SystemMemoryMapper> {
[INFO] [stdout]     |                         --                         --  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |                          |
[INFO] [stdout]     |                         |                          the same lifetime is named here
[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 `'a`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn cpu_context<'a>(&'a mut self) -> CpuContext<'a, SystemMemoryMapper<'a>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cpu/mod.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn context<T: CpuMemory>(&mut self, memory: T) -> CpuContext<T> {
[INFO] [stdout]    |                                  ^^^^^^^^^                ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn context<T: CpuMemory>(&mut self, memory: T) -> CpuContext<'_, T> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cpu/mod.rs:90:83
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn context_borrowed<'a, T: CpuMemory>(&'a mut self, memory: &'a mut T) -> CpuContext<BorrowedMemory<T>>  {
[INFO] [stdout]    |                                                --                    --           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |                     |            |          |
[INFO] [stdout]    |                                                |                     |            |          the same lifetime is hidden here
[INFO] [stdout]    |                                                |                     |            the same lifetime is hidden here
[INFO] [stdout]    |                                                |                     the lifetime is named here
[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 `'a`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn context_borrowed<'a, T: CpuMemory>(&'a mut self, memory: &'a mut T) -> CpuContext<'a, BorrowedMemory<'a, T>>  {
[INFO] [stdout]    |                                                                                              +++                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ppu.rs:98:75
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace) -> PPUContext {
[INFO] [stdout]    |                         --                  -- the lifetime is named here ^^^^^^^^^^ the same lifetime is hidden 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 `'a`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace) -> PPUContext<'a> {
[INFO] [stdout]    |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ppu.rs:105:149
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...>(&'a mut self, cart: &'a mut dyn PPUMemorySpace, eventlist: &'a mut EventList, framebuffer: &'a mut [u8; 240*256]) -> PPUDrawingContext {
[INFO] [stdout]     |       --                  --                                     --                              --                       ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |                   |                                      |                               |
[INFO] [stdout]     |       |                   the lifetime is named here             the lifetime is named here      the lifetime is named here
[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 `'a`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn drawing_context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace, eventlist: &'a mut EventList, framebuffer: &'a mut [u8; 240*256]) -> PPUDrawingContext<'a> {
[INFO] [stdout]     |                                                                                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CpuMemoryRead` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait CpuMemoryRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CpuMemoryWrite` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait CpuMemoryWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadInterface` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 | trait ReadInterface<'a, T: CpuMemory> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadInterfaceBytesRead` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:137:7
[INFO] [stdout]     |
[INFO] [stdout] 137 | trait ReadInterfaceBytesRead {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccumulatorOperand` is never constructed
[INFO] [stdout]    --> src/cpu/mod.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct AccumulatorOperand;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ines_rom_file.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IOError(std::io::Error),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenRomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     IOError(std::io::Error),
[INFO] [stdout] 26 +     IOError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn ppu_drawing_context(&mut self) -> PPUDrawingContext {
[INFO] [stdout]     |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn ppu_drawing_context(&mut self) -> PPUDrawingContext<'_> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:193:56
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn cpu_context<'a>(&'a mut self) -> CpuContext<'a, SystemMemoryMapper> {
[INFO] [stdout]     |                         --                         --  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |                          |
[INFO] [stdout]     |                         |                          the same lifetime is named here
[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 `'a`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn cpu_context<'a>(&'a mut self) -> CpuContext<'a, SystemMemoryMapper<'a>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cpu/mod.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn context<T: CpuMemory>(&mut self, memory: T) -> CpuContext<T> {
[INFO] [stdout]    |                                  ^^^^^^^^^                ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn context<T: CpuMemory>(&mut self, memory: T) -> CpuContext<'_, T> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cpu/mod.rs:90:83
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn context_borrowed<'a, T: CpuMemory>(&'a mut self, memory: &'a mut T) -> CpuContext<BorrowedMemory<T>>  {
[INFO] [stdout]    |                                                --                    --           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |                     |            |          |
[INFO] [stdout]    |                                                |                     |            |          the same lifetime is hidden here
[INFO] [stdout]    |                                                |                     |            the same lifetime is hidden here
[INFO] [stdout]    |                                                |                     the lifetime is named here
[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 `'a`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn context_borrowed<'a, T: CpuMemory>(&'a mut self, memory: &'a mut T) -> CpuContext<'a, BorrowedMemory<'a, T>>  {
[INFO] [stdout]    |                                                                                              +++                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ppu.rs:98:75
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace) -> PPUContext {
[INFO] [stdout]    |                         --                  -- the lifetime is named here ^^^^^^^^^^ the same lifetime is hidden 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 `'a`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace) -> PPUContext<'a> {
[INFO] [stdout]    |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/ppu.rs:105:149
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...>(&'a mut self, cart: &'a mut dyn PPUMemorySpace, eventlist: &'a mut EventList, framebuffer: &'a mut [u8; 240*256]) -> PPUDrawingContext {
[INFO] [stdout]     |       --                  --                                     --                              --                       ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |                   |                                      |                               |
[INFO] [stdout]     |       |                   the lifetime is named here             the lifetime is named here      the lifetime is named here
[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 `'a`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn drawing_context<'a>(&'a mut self, cart: &'a mut dyn PPUMemorySpace, eventlist: &'a mut EventList, framebuffer: &'a mut [u8; 240*256]) -> PPUDrawingContext<'a> {
[INFO] [stdout]     |                                                                                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.02s
[INFO] running `Command { std: "docker" "inspect" "fd3d89713ea898d5d6355d73da9d31de19fbd751540c0c0ef47f022a3a47bfd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd3d89713ea898d5d6355d73da9d31de19fbd751540c0c0ef47f022a3a47bfd0", kill_on_drop: false }`
[INFO] [stdout] fd3d89713ea898d5d6355d73da9d31de19fbd751540c0c0ef47f022a3a47bfd0
