[INFO] cloning repository https://github.com/wu1274704958/sdl_game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wu1274704958/sdl_game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu1274704958%2Fsdl_game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu1274704958%2Fsdl_game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9659ff6231b5e9376c14ff596d6137fb87a68c2e
[INFO] testing wu1274704958/sdl_game against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu1274704958%2Fsdl_game" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wu1274704958/sdl_game on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wu1274704958/sdl_game
[INFO] finished tweaking git repo https://github.com/wu1274704958/sdl_game
[INFO] tweaked toml for git repo https://github.com/wu1274704958/sdl_game written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/wu1274704958/sdl_game already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.5.3
[INFO] [stderr]   Downloaded c_vec v1.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cf16d5aeb40ef68698142dcae7345356f64c161370db366831bf647a8b623226
[INFO] running `Command { std: "docker" "start" "-a" "cf16d5aeb40ef68698142dcae7345356f64c161370db366831bf647a8b623226", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf16d5aeb40ef68698142dcae7345356f64c161370db366831bf647a8b623226", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf16d5aeb40ef68698142dcae7345356f64c161370db366831bf647a8b623226", kill_on_drop: false }`
[INFO] [stdout] cf16d5aeb40ef68698142dcae7345356f64c161370db366831bf647a8b623226
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03777097dd0fc3f16ed5bfc132ef7a1854905c6416e61bafe187b84c7a4b3edf
[INFO] running `Command { std: "docker" "start" "-a" "03777097dd0fc3f16ed5bfc132ef7a1854905c6416e61bafe187b84c7a4b3edf", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling c_vec v1.3.1
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling rand_core v0.2.1
[INFO] [stderr]    Compiling sdl_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling sdl2-sys v0.31.0
[INFO] [stderr]    Compiling rand v0.3.22
[INFO] [stderr]    Compiling rand v0.5.3
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling sdl2 v0.31.0
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sprite/mod.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |     event_func : Option<Box<Fn(&Event,&Sprite)>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Event,&Sprite)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sprite/mod.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |     update_func : Option<Box<Fn(f32,&Sprite)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Sprite)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sprite/mod.rs:97:43
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn setEventFunc(&mut self,f : Box<Fn(&Event,&Sprite)->()>)
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Event,&Sprite)->()`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/sprite/mod.rs:101:44
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn setUpdateFunc(&mut self,f : Box<Fn(f32,&Sprite)->()>)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Sprite)->()`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plane/mod.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |     event_func:Option<Box<Fn(&Event,&Plane)>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Event,&Plane)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plane/mod.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |     update_func : Option<Box<Fn(f32,&Plane)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Plane)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plane/mod.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn setEventFunc(&mut self,f : Box<Fn(&Event,&Plane)->()>)
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Event,&Plane)->()`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/plane/mod.rs:60:44
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn setUpdateFunc(&mut self,f : Box<Fn(f32,&Plane)->()>)
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Plane)->()`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plane/mod.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 |     update_func : Option<Box<Fn(f32,&Bullet)>>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Bullet)`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plane/mod.rs:169:44
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn setUpdateFunc(&mut self,f : Box<Fn(f32,&Bullet)->()>)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f32,&Bullet)->()`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:53:46
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let sprites : Rc<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>> = Rc::new(RefCell::new(Vec::new()));
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let buffer : Rc<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>> = Rc::new(RefCell::new(Vec::new()));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:179:52
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn create_start(sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>) -> Sprite
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:268:52
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>,
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:269:55
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 buffer : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>) -> Plane
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:333:64
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:334:67
[INFO] [stdout]     |
[INFO] [stdout] 334 | ...                   buffer : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>){
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:377:58
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn create_plane_enemy(sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:378:61
[INFO] [stdout]     |
[INFO] [stdout] 378 |                       buffer : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>){
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:480:60
[INFO] [stdout]     |
[INFO] [stdout] 480 |                         sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>,
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:481:63
[INFO] [stdout]     |
[INFO] [stdout] 481 |                         buffer : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>){
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:564:52
[INFO] [stdout]     |
[INFO] [stdout] 564 |                 sps : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>,
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:565:55
[INFO] [stdout]     |
[INFO] [stdout] 565 |                 buffer : Weak<RefCell<Vec<RefCell<Box<DH <Target=WindowCanvas>>>>>>
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DH <Target=WindowCanvas>`
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.sdl_test.0a30118d-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313.2p8w7bveogoti9c7.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/librand-4e80dff82259253e.rlib" "/opt/rustwide/target/debug/deps/librand_core-c521426d68d7c921.rlib" "/opt/rustwide/target/debug/deps/libsdl_test-8c782635f943c5cc.rlib" "/opt/rustwide/target/debug/deps/libsdl2-9b72c7330a6d3512.rlib" "/opt/rustwide/target/debug/deps/librand-2c8105b282f3be10.rlib" "/opt/rustwide/target/debug/deps/librand-7da3e43caefb9887.rlib" "/opt/rustwide/target/debug/deps/libc_vec-78fcfdbbcd8cce04.rlib" "/opt/rustwide/target/debug/deps/libsdl2_sys-4267afd8d5eb2596.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b4f9db8d1fb8bceb.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-941278a3890dcd94.rlib" "/opt/rustwide/target/debug/deps/liblibc-9ab0072889765173.rlib" "/opt/rustwide/target/debug/deps/libnum-e79def68da76303f.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-ad73cc04af581bdf.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-26ad02c39231f0f1.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-20250122705d732e.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-197d933f09d9a590.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-46a006cddfd334f0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-5b9870310e470b38.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-260022ba8f1ab4ee.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-71377435a799394f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-658ee5924fde57cd.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-9e8627da6bd1b94a.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-19fdaac49f59be84.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-cb00e2691ea45905.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-50f6726defae5ae1.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2afc16311deea26e.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-bb5cb0fe086ee8cf.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-896053247b5dfd0b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-735e1f2ac3cf23be.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9dfb6622644c732c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-beea7d9617fe25c5.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-8ef7dd43fc671f88.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a9a3b2ad67977f47.rlib" "-Wl,-Bdynamic" "-lSDL2_image" "-lSDL2_gfx" "-lSDL2" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/sdl_test-4056dd08813cb313" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: cannot find -lSDL2_image
[INFO] [stdout]           /usr/bin/ld: cannot find -lSDL2_gfx
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sdl_test` due to 2 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "03777097dd0fc3f16ed5bfc132ef7a1854905c6416e61bafe187b84c7a4b3edf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03777097dd0fc3f16ed5bfc132ef7a1854905c6416e61bafe187b84c7a4b3edf", kill_on_drop: false }`
[INFO] [stdout] 03777097dd0fc3f16ed5bfc132ef7a1854905c6416e61bafe187b84c7a4b3edf
