[INFO] fetching crate sdl2_mt 0.2.0...
[INFO] testing sdl2_mt-0.2.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate sdl2_mt 0.2.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate sdl2_mt 0.2.0
[INFO] finished tweaking crates.io crate sdl2_mt 0.2.0
[INFO] tweaked toml for crates.io crate sdl2_mt 0.2.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sdl2_mt 0.2.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 19 packages to latest compatible versions
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding sdl2 v0.30.0 (available: v0.38.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1e85c8f262afc84a42247b13e9d4e5d4475b910d13bd0c26a217fc2fc2d37eca
[INFO] running `Command { std: "docker" "start" "-a" "1e85c8f262afc84a42247b13e9d4e5d4475b910d13bd0c26a217fc2fc2d37eca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e85c8f262afc84a42247b13e9d4e5d4475b910d13bd0c26a217fc2fc2d37eca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e85c8f262afc84a42247b13e9d4e5d4475b910d13bd0c26a217fc2fc2d37eca", kill_on_drop: false }`
[INFO] [stdout] 1e85c8f262afc84a42247b13e9d4e5d4475b910d13bd0c26a217fc2fc2d37eca
[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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f02d0ec762187824f660820053c822ad1df3b6823e5add0159656627628289d
[INFO] running `Command { std: "docker" "start" "-a" "9f02d0ec762187824f660820053c822ad1df3b6823e5add0159656627628289d", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling sdl2-sys v0.30.0
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num v0.1.43
[INFO] [stderr]    Compiling sdl2 v0.30.0
[INFO] [stderr]    Compiling sdl2_mt v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | / lazy_static! {
[INFO] [stdout] 181 | |     static ref MT_HANDLE: Arc<Mutex<Sdl2Mt>> = {
[INFO] [stdout] 182 | |         let (tx, rx) = mpsc::channel();
[INFO] [stdout] 183 | |         thread::spawn(move || sdl_handler(rx));
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |     };
[INFO] [stdout] 187 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = dyn FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.40s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[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" "9f02d0ec762187824f660820053c822ad1df3b6823e5add0159656627628289d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f02d0ec762187824f660820053c822ad1df3b6823e5add0159656627628289d", kill_on_drop: false }`
[INFO] [stdout] 9f02d0ec762187824f660820053c822ad1df3b6823e5add0159656627628289d
[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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 32426ae97a07e7c0a45c11c6a8e63bf4ef83fbdc1acb42f1528bb4d3a24a7928
[INFO] running `Command { std: "docker" "start" "-a" "32426ae97a07e7c0a45c11c6a8e63bf4ef83fbdc1acb42f1528bb4d3a24a7928", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling sdl2_mt v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | / lazy_static! {
[INFO] [stdout] 181 | |     static ref MT_HANDLE: Arc<Mutex<Sdl2Mt>> = {
[INFO] [stdout] 182 | |         let (tx, rx) = mpsc::channel();
[INFO] [stdout] 183 | |         thread::spawn(move || sdl_handler(rx));
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |     };
[INFO] [stdout] 187 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = dyn FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/custom_create_window.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/custom_create_window.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | / lazy_static! {
[INFO] [stdout] 181 | |     static ref MT_HANDLE: Arc<Mutex<Sdl2Mt>> = {
[INFO] [stdout] 182 | |         let (tx, rx) = mpsc::channel();
[INFO] [stdout] 183 | |         thread::spawn(move || sdl_handler(rx));
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |     };
[INFO] [stdout] 187 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type SdlLambda = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | type SdlCreateWindow = dyn FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | type SdlHandleEvent = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.76s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[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" "32426ae97a07e7c0a45c11c6a8e63bf4ef83fbdc1acb42f1528bb4d3a24a7928", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32426ae97a07e7c0a45c11c6a8e63bf4ef83fbdc1acb42f1528bb4d3a24a7928", kill_on_drop: false }`
[INFO] [stdout] 32426ae97a07e7c0a45c11c6a8e63bf4ef83fbdc1acb42f1528bb4d3a24a7928
[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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 029ebba5f82044e507d12054245ef71865d5b17ff7119993990c045918778c6b
[INFO] running `Command { std: "docker" "start" "-a" "029ebba5f82044e507d12054245ef71865d5b17ff7119993990c045918778c6b", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]    --> src/lib.rs:180:1
[INFO] [stderr]     |
[INFO] [stderr] 180 | / lazy_static! {
[INFO] [stderr] 181 | |     static ref MT_HANDLE: Arc<Mutex<Sdl2Mt>> = {
[INFO] [stderr] 182 | |         let (tx, rx) = mpsc::channel();
[INFO] [stderr] 183 | |         thread::spawn(move || sdl_handler(rx));
[INFO] [stderr] ...   |
[INFO] [stderr] 186 | |     };
[INFO] [stderr] 187 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:13:18
[INFO] [stderr]    |
[INFO] [stderr] 13 | type SdlLambda = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 | type SdlLambda = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>) + Send;
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:14:24
[INFO] [stderr]    |
[INFO] [stderr] 14 | type SdlCreateWindow = FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 14 | type SdlCreateWindow = dyn FnMut(&mut Sdl, &mut VideoSubsystem) -> Option<render::WindowCanvas> + Send;
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:15:23
[INFO] [stderr]    |
[INFO] [stderr] 15 | type SdlHandleEvent = FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 15 | type SdlHandleEvent = dyn FnMut(&mut Sdl, &mut HashMap<u32, render::WindowCanvas>, &Event) -> bool + Send;
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: `sdl2_mt` (lib) generated 4 warnings (run `cargo fix --lib -p sdl2_mt` to apply 3 suggestions)
[INFO] [stderr] warning: `sdl2_mt` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/basic.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stderr]    |                         ----^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/basic.rs:55:25
[INFO] [stderr]    |
[INFO] [stderr] 55 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stderr]    |                         ----^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/custom_create_window.rs:58:25
[INFO] [stderr]    |
[INFO] [stderr] 58 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stderr]    |                         ----^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/custom_create_window.rs:71:25
[INFO] [stderr]    |
[INFO] [stderr] 71 |                     let mut canvas = windows.get_mut(&window).unwrap();
[INFO] [stderr]    |                         ----^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `sdl2_mt` (example "basic") generated 2 warnings (run `cargo fix --example "basic" -p sdl2_mt` to apply 2 suggestions)
[INFO] [stderr] warning: `sdl2_mt` (example "custom_create_window") generated 2 warnings (run `cargo fix --example "custom_create_window" -p sdl2_mt` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sdl2_mt-052c1c3ea3ef32a9)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stderr]      Running tests/double_exit.rs (/opt/rustwide/target/debug/deps/double_exit-f5805fedcadcadaf)
[INFO] [stdout] test tests::double_init ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.76s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stdout] test double_exit - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/double_window.rs (/opt/rustwide/target/debug/deps/double_window-3f11d6ef7730bc3c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stdout] test double_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/open_window.rs (/opt/rustwide/target/debug/deps/open_window-d1442cb24b653703)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stdout] test open_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sdl2_mt
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "029ebba5f82044e507d12054245ef71865d5b17ff7119993990c045918778c6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "029ebba5f82044e507d12054245ef71865d5b17ff7119993990c045918778c6b", kill_on_drop: false }`
[INFO] [stdout] 029ebba5f82044e507d12054245ef71865d5b17ff7119993990c045918778c6b
