[INFO] cloning repository https://github.com/dthelegend/street-fighter-ai-reloaded
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dthelegend/street-fighter-ai-reloaded" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthelegend%2Fstreet-fighter-ai-reloaded", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthelegend%2Fstreet-fighter-ai-reloaded'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 209c63b96b131578b101d75e0c94dc4c6b315798
[INFO] checking dthelegend/street-fighter-ai-reloaded against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthelegend%2Fstreet-fighter-ai-reloaded" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dthelegend/street-fighter-ai-reloaded on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dthelegend/street-fighter-ai-reloaded
[INFO] finished tweaking git repo https://github.com/dthelegend/street-fighter-ai-reloaded
[INFO] tweaked toml for git repo https://github.com/dthelegend/street-fighter-ai-reloaded written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/dthelegend/street-fighter-ai-reloaded 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded numpy v0.19.0
[INFO] [stderr]   Downloaded libffi v3.2.0
[INFO] [stderr]   Downloaded libffi-sys v2.3.0
[INFO] [stderr]   Downloaded printf-compat v0.1.1
[INFO] [stderr]   Downloaded printf v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1af3668a001c447dc73f16e0515d39b3a57807c4a06f90e7d29884fbfc2f7152
[INFO] running `Command { std: "docker" "start" "-a" "1af3668a001c447dc73f16e0515d39b3a57807c4a06f90e7d29884fbfc2f7152", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1af3668a001c447dc73f16e0515d39b3a57807c4a06f90e7d29884fbfc2f7152", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1af3668a001c447dc73f16e0515d39b3a57807c4a06f90e7d29884fbfc2f7152", kill_on_drop: false }`
[INFO] [stdout] 1af3668a001c447dc73f16e0515d39b3a57807c4a06f90e7d29884fbfc2f7152
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c36b27dcff009e78292e3179eed852264f17d9f4f08bec24e3a956a9b9477071
[INFO] running `Command { std: "docker" "start" "-a" "c36b27dcff009e78292e3179eed852264f17d9f4f08bec24e3a956a9b9477071", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling target-lexicon v0.12.11
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling rustix v0.38.17
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]    Compiling linux-raw-sys v0.4.8
[INFO] [stderr]    Compiling clang-sys v1.6.1
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling pyo3-build-config v0.19.2
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking smallvec v1.11.1
[INFO] [stderr]    Compiling regex-automata v0.3.9
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling home v0.5.5
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling pyo3-ffi v0.19.2
[INFO] [stderr]    Compiling pyo3 v0.19.2
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]    Compiling libffi-sys v2.3.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling shlex v1.2.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling regex v1.9.6
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling printf v0.1.0
[INFO] [stderr]    Compiling pyo3-macros-backend v0.19.2
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking unindent v0.1.11
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking cstr_core v0.2.6
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking printf-compat v0.1.1
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]    Compiling pyo3-macros v0.19.2
[INFO] [stderr]    Compiling street-fighter-ai-reloaded v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking numpy v0.19.0
[INFO] [stderr]     Checking libffi v3.2.0
[INFO] [stdout] warning: unused imports: `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/retro/libretrocore.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::{c_void, c_uint}, sync::{Mutex, Arc}, rc::Rc};
[INFO] [stdout]   |                                         ^^^^^        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/retro/libretrocore.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::{c_void, c_uint}, sync::{Mutex, Arc}, rc::Rc};
[INFO] [stdout]   |                                         ^^^^^        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/retro/libretrocore.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 163 |                 else { Some(unsafe { std::slice::from_raw_parts(data as *const u8, (width * height) as usize) }) }
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:37
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:67
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:82
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processed_data`
[INFO] [stdout]    --> src/retro/libretrocore.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let processed_data =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processed_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]   --> src/retro/libretrocore.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl GlobalLibretroEnvironmentManager {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn unload_rom(self) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `core_path` and `rom_path` are never read
[INFO] [stdout]    --> src/retro/libretrocore.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | struct InitialisedCoreWithRom {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 320 |     core_api: Arc<libretro_sys::LibretroAPI>,
[INFO] [stdout] 321 |     core_path: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     rom_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitialisedCoreWithRom` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]    --> src/retro/libretrocore.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl InitialisedCoreWithRom {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 328 |     fn unload_rom(self) -> InitialisedCore {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/retro/libretrocore.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 163 |                 else { Some(unsafe { std::slice::from_raw_parts(data as *const u8, (width * height) as usize) }) }
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:37
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:67
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:82
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processed_data`
[INFO] [stdout]    --> src/retro/libretrocore.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let processed_data =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processed_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]   --> src/retro/libretrocore.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl GlobalLibretroEnvironmentManager {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn unload_rom(self) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `core_path` and `rom_path` are never read
[INFO] [stdout]    --> src/retro/libretrocore.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | struct InitialisedCoreWithRom {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 320 |     core_api: Arc<libretro_sys::LibretroAPI>,
[INFO] [stdout] 321 |     core_path: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     rom_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitialisedCoreWithRom` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]    --> src/retro/libretrocore.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl InitialisedCoreWithRom {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 328 |     fn unload_rom(self) -> InitialisedCore {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.81s
[INFO] running `Command { std: "docker" "inspect" "c36b27dcff009e78292e3179eed852264f17d9f4f08bec24e3a956a9b9477071", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c36b27dcff009e78292e3179eed852264f17d9f4f08bec24e3a956a9b9477071", kill_on_drop: false }`
[INFO] [stdout] c36b27dcff009e78292e3179eed852264f17d9f4f08bec24e3a956a9b9477071
[INFO] checking dthelegend/street-fighter-ai-reloaded against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdthelegend%2Fstreet-fighter-ai-reloaded" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dthelegend/street-fighter-ai-reloaded on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dthelegend/street-fighter-ai-reloaded
[INFO] finished tweaking git repo https://github.com/dthelegend/street-fighter-ai-reloaded
[INFO] tweaked toml for git repo https://github.com/dthelegend/street-fighter-ai-reloaded written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/dthelegend/street-fighter-ai-reloaded 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 913f80ce240b282b3c8beffa19824a3300f61d2fe6abb3cf7b304c98eb6aee05
[INFO] running `Command { std: "docker" "start" "-a" "913f80ce240b282b3c8beffa19824a3300f61d2fe6abb3cf7b304c98eb6aee05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "913f80ce240b282b3c8beffa19824a3300f61d2fe6abb3cf7b304c98eb6aee05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "913f80ce240b282b3c8beffa19824a3300f61d2fe6abb3cf7b304c98eb6aee05", kill_on_drop: false }`
[INFO] [stdout] 913f80ce240b282b3c8beffa19824a3300f61d2fe6abb3cf7b304c98eb6aee05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e974facdd54589fef336338121a54fe8b55557b95e9ae2b1e6c8b3f0784cf630
[INFO] running `Command { std: "docker" "start" "-a" "e974facdd54589fef336338121a54fe8b55557b95e9ae2b1e6c8b3f0784cf630", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling target-lexicon v0.12.11
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling rustix v0.38.17
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]    Compiling linux-raw-sys v0.4.8
[INFO] [stderr]    Compiling clang-sys v1.6.1
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling pyo3-build-config v0.19.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]     Checking smallvec v1.11.1
[INFO] [stderr]    Compiling regex-automata v0.3.9
[INFO] [stderr]    Compiling home v0.5.5
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling pyo3-ffi v0.19.2
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling pyo3 v0.19.2
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling libffi-sys v2.3.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling pyo3-macros-backend v0.19.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling regex v1.9.6
[INFO] [stderr]    Compiling shlex v1.2.0
[INFO] [stderr]    Compiling printf v0.1.0
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]     Checking unindent v0.1.11
[INFO] [stderr]     Checking cstr_core v0.2.6
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking printf-compat v0.1.1
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]    Compiling pyo3-macros v0.19.2
[INFO] [stderr]    Compiling street-fighter-ai-reloaded v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking numpy v0.19.0
[INFO] [stderr]     Checking libffi v3.2.0
[INFO] [stdout] warning: unused imports: `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/retro/libretrocore.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::{c_void, c_uint}, sync::{Mutex, Arc}, rc::Rc};
[INFO] [stdout]   |                                         ^^^^^        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/retro/libretrocore.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::{c_void, c_uint}, sync::{Mutex, Arc}, rc::Rc};
[INFO] [stdout]   |                                         ^^^^^        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/retro/libretrocore.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 163 |                 else { Some(unsafe { std::slice::from_raw_parts(data as *const u8, (width * height) as usize) }) }
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:37
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:67
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:82
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processed_data`
[INFO] [stdout]    --> src/retro/libretrocore.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let processed_data =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processed_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]   --> src/retro/libretrocore.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl GlobalLibretroEnvironmentManager {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn unload_rom(self) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `core_path` and `rom_path` are never read
[INFO] [stdout]    --> src/retro/libretrocore.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | struct InitialisedCoreWithRom {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 320 |     core_api: Arc<libretro_sys::LibretroAPI>,
[INFO] [stdout] 321 |     core_path: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     rom_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitialisedCoreWithRom` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]    --> src/retro/libretrocore.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl InitialisedCoreWithRom {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 328 |     fn unload_rom(self) -> InitialisedCore {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `trampoline` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `street-fighter-ai-reloaded` (lib) due to 2 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/retro/libretrocore.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 163 |                 else { Some(unsafe { std::slice::from_raw_parts(data as *const u8, (width * height) as usize) }) }
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:37
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:67
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/retro/libretrocore.rs:223:82
[INFO] [stdout]     |
[INFO] [stdout] 223 | unsafe extern "C" fn on_input_state(port: c_uint, device: c_uint, index: c_uint, id: c_uint) -> i16 {
[INFO] [stdout]     |                                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/retro/libretrocore.rs:228:49
[INFO] [stdout]     |
[INFO] [stdout] 228 | unsafe extern "C" fn on_audio_sample(left: i16, right: i16) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processed_data`
[INFO] [stdout]    --> src/retro/libretrocore.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let processed_data =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processed_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]   --> src/retro/libretrocore.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl GlobalLibretroEnvironmentManager {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn unload_rom(self) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `core_path` and `rom_path` are never read
[INFO] [stdout]    --> src/retro/libretrocore.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | struct InitialisedCoreWithRom {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 320 |     core_api: Arc<libretro_sys::LibretroAPI>,
[INFO] [stdout] 321 |     core_path: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     rom_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitialisedCoreWithRom` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_rom` is never used
[INFO] [stdout]    --> src/retro/libretrocore.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl InitialisedCoreWithRom {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 328 |     fn unload_rom(self) -> InitialisedCore {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `trampoline` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `street-fighter-ai-reloaded` (lib test) due to 2 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e974facdd54589fef336338121a54fe8b55557b95e9ae2b1e6c8b3f0784cf630", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e974facdd54589fef336338121a54fe8b55557b95e9ae2b1e6c8b3f0784cf630", kill_on_drop: false }`
[INFO] [stdout] e974facdd54589fef336338121a54fe8b55557b95e9ae2b1e6c8b3f0784cf630
