[INFO] cloning repository https://github.com/glennw/gl_sandpit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/glennw/gl_sandpit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglennw%2Fgl_sandpit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglennw%2Fgl_sandpit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66fae00a300fc39d4ccc018e2bb962cb91ec525c
[INFO] testing glennw/gl_sandpit against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglennw%2Fgl_sandpit" "/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/glennw/gl_sandpit on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/glennw/gl_sandpit
[INFO] finished tweaking git repo https://github.com/glennw/gl_sandpit
[INFO] tweaked toml for git repo https://github.com/glennw/gl_sandpit written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/glennw/gl_sandpit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enum_primitive v0.1.0
[INFO] [stderr]   Downloaded flate2 v0.2.14
[INFO] [stderr]   Downloaded gif v0.9.0
[INFO] [stderr]   Downloaded memmap v0.2.3
[INFO] [stderr]   Downloaded serde v0.8.19
[INFO] [stderr]   Downloaded wayland-kbd v0.3.6
[INFO] [stderr]   Downloaded wayland-sys v0.5.11
[INFO] [stderr]   Downloaded serde_json v0.8.3
[INFO] [stderr]   Downloaded deque v0.3.1
[INFO] [stderr]   Downloaded wayland-scanner v0.5.11
[INFO] [stderr]   Downloaded png v0.5.2
[INFO] [stderr]   Downloaded xml-rs v0.3.4
[INFO] [stderr]   Downloaded freetype-rs v0.11.0
[INFO] [stderr]   Downloaded libz-sys v1.0.7
[INFO] [stderr]   Downloaded glutin v0.6.2
[INFO] [stderr]   Downloaded rayon v0.5.0
[INFO] [stderr]   Downloaded cocoa v0.3.3
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.8
[INFO] [stderr]   Downloaded image v0.10.4
[INFO] [stderr]   Downloaded core-graphics v0.3.2
[INFO] [stderr]   Downloaded wayland-window v0.2.3
[INFO] [stderr]   Downloaded gleam v0.2.25
[INFO] [stderr]   Downloaded miniz-sys v0.1.7
[INFO] [stderr]   Downloaded wayland-client v0.5.12
[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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a845db7e3536582bf620b2db9b887c37fe70c502416456e4512424db400da09f
[INFO] running `Command { std: "docker" "start" "-a" "a845db7e3536582bf620b2db9b887c37fe70c502416456e4512424db400da09f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a845db7e3536582bf620b2db9b887c37fe70c502416456e4512424db400da09f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a845db7e3536582bf620b2db9b887c37fe70c502416456e4512424db400da09f", kill_on_drop: false }`
[INFO] [stdout] a845db7e3536582bf620b2db9b887c37fe70c502416456e4512424db400da09f
[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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9707d7348897a8b27cbb5073aa7265c98ecee2831221cb22faa4c01582c9de4e
[INFO] running `Command { std: "docker" "start" "-a" "9707d7348897a8b27cbb5073aa7265c98ecee2831221cb22faa4c01582c9de4e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.17
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling phf_shared v0.7.20
[INFO] [stderr]    Compiling pkg-config v0.3.8
[INFO] [stderr]    Compiling gcc v0.3.38
[INFO] [stderr]    Compiling serde v0.8.19
[INFO] [stderr]    Compiling itoa v0.1.1
[INFO] [stderr]    Compiling xml-rs v0.3.4
[INFO] [stderr]    Compiling dtoa v0.2.2
[INFO] [stderr]    Compiling phf v0.7.20
[INFO] [stderr]    Compiling lazy_static v0.2.2
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling khronos_api v1.0.0
[INFO] [stderr]    Compiling log v0.3.6
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling num-integer v0.1.32
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling gl_generator v0.5.2
[INFO] [stderr]    Compiling wayland-scanner v0.5.11
[INFO] [stderr]    Compiling libz-sys v1.0.7
[INFO] [stderr]    Compiling miniz-sys v0.1.7
[INFO] [stderr]    Compiling phf_generator v0.7.20
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling lazy_static v0.1.16
[INFO] [stderr]    Compiling phf_codegen v0.7.20
[INFO] [stderr]    Compiling num-iter v0.1.32
[INFO] [stderr]    Compiling crossbeam v0.2.10
[INFO] [stderr]    Compiling byteorder v0.5.3
[INFO] [stderr]    Compiling wayland-client v0.5.12
[INFO] [stderr]    Compiling tempfile v2.1.4
[INFO] [stderr]    Compiling target_build_utils v0.1.2
[INFO] [stderr]    Compiling deque v0.3.1
[INFO] [stderr]    Compiling fs2 v0.2.5
[INFO] [stderr]    Compiling freetype-sys v0.4.0
[INFO] [stderr]    Compiling x11-dl v2.11.0
[INFO] [stderr]    Compiling num_cpus v1.1.0
[INFO] [stderr]    Compiling rustc-serialize v0.3.21
[INFO] [stderr]    Compiling rayon v0.5.0
[INFO] [stderr]    Compiling serde_json v0.8.3
[INFO] [stderr]    Compiling flate2 v0.2.14
[INFO] [stderr]    Compiling memmap v0.2.3
[INFO] [stderr]    Compiling gleam v0.2.25
[INFO] [stderr]    Compiling glutin v0.6.2
[INFO] [stderr]    Compiling num v0.1.36
[INFO] [stderr]    Compiling shared_library v0.1.5
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling color_quant v1.0.0
[INFO] [stderr]    Compiling inflate v0.1.1
[INFO] [stderr]    Compiling gif v0.9.0
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling jpeg-decoder v0.1.8
[INFO] [stderr]    Compiling enum_primitive v0.1.0
[INFO] [stderr]    Compiling glob v0.2.11
[INFO] [stderr]    Compiling num-bigint v0.1.35
[INFO] [stderr]    Compiling num-rational v0.1.35
[INFO] [stderr]    Compiling png v0.5.2
[INFO] [stderr]    Compiling scoped_threadpool v0.1.7
[INFO] [stderr]    Compiling freetype-rs v0.11.0
[INFO] [stderr]    Compiling time v0.1.35
[INFO] [stderr]    Compiling image v0.10.4
[INFO] [stderr]    Compiling libloading v0.3.1
[INFO] [stderr]    Compiling dlib v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.5.11
[INFO] [stderr]    Compiling wayland-window v0.2.3
[INFO] [stderr]    Compiling wayland-kbd v0.3.6
[INFO] [stderr]    Compiling gl_sandpit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Receiver`, `channel`
[INFO] [stdout]  --> src/gfx.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/gfx.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/gfx.rs:87:37
[INFO] [stdout]    |
[INFO] [stdout] 87 |             data.push(unsafe { mem::uninitialized() });
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:32:68
[INFO] [stdout]    |
[INFO] [stdout] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<dyn App>,
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:33:85
[INFO] [stdout]    |
[INFO] [stdout] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:34:87
[INFO] [stdout]    |
[INFO] [stdout] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:35:87
[INFO] [stdout]    |
[INFO] [stdout] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:36:87
[INFO] [stdout]    |
[INFO] [stdout] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:37:87
[INFO] [stdout]    |
[INFO] [stdout] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:38:86
[INFO] [stdout]    |
[INFO] [stdout] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:39:86
[INFO] [stdout]    |
[INFO] [stdout] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:40:86
[INFO] [stdout]    |
[INFO] [stdout] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:41:86
[INFO] [stdout]    |
[INFO] [stdout] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:42:93
[INFO] [stdout]    |
[INFO] [stdout] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:43:93
[INFO] [stdout]    |
[INFO] [stdout] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:44:93
[INFO] [stdout]    |
[INFO] [stdout] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:45:93
[INFO] [stdout]    |
[INFO] [stdout] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:46:93
[INFO] [stdout]    |
[INFO] [stdout] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:47:93
[INFO] [stdout]    |
[INFO] [stdout] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:48:93
[INFO] [stdout]    |
[INFO] [stdout] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:49:93
[INFO] [stdout]    |
[INFO] [stdout] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:50:93
[INFO] [stdout]    |
[INFO] [stdout] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:51:95
[INFO] [stdout]    |
[INFO] [stdout] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_proxy`
[INFO] [stdout]    --> src/gfx.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(window_proxy: WindowProxy) -> GfxContext {
[INFO] [stdout]     |                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_proxy`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/gfx.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Program {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 34 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `refresh_shaders` is never used
[INFO] [stdout]    --> src/gfx.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl GfxContext {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn refresh_shaders(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/util.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 14 -             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stdout] 14 +             panic!("Unable to open file {}", path.display());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.46s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.21
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9707d7348897a8b27cbb5073aa7265c98ecee2831221cb22faa4c01582c9de4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9707d7348897a8b27cbb5073aa7265c98ecee2831221cb22faa4c01582c9de4e", kill_on_drop: false }`
[INFO] [stdout] 9707d7348897a8b27cbb5073aa7265c98ecee2831221cb22faa4c01582c9de4e
[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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c1093a79ccaa644c6f55d15d75f312696f59026bd2813062132dbf5eaf31465
[INFO] running `Command { std: "docker" "start" "-a" "7c1093a79ccaa644c6f55d15d75f312696f59026bd2813062132dbf5eaf31465", kill_on_drop: false }`
[INFO] [stderr]    Compiling gl_sandpit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Receiver`, `channel`
[INFO] [stdout]  --> src/gfx.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/gfx.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/gfx.rs:87:37
[INFO] [stdout]    |
[INFO] [stdout] 87 |             data.push(unsafe { mem::uninitialized() });
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:32:68
[INFO] [stdout]    |
[INFO] [stdout] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<dyn App>,
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:33:85
[INFO] [stdout]    |
[INFO] [stdout] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:34:87
[INFO] [stdout]    |
[INFO] [stdout] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:35:87
[INFO] [stdout]    |
[INFO] [stdout] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:36:87
[INFO] [stdout]    |
[INFO] [stdout] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:37:87
[INFO] [stdout]    |
[INFO] [stdout] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:38:86
[INFO] [stdout]    |
[INFO] [stdout] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:39:86
[INFO] [stdout]    |
[INFO] [stdout] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:40:86
[INFO] [stdout]    |
[INFO] [stdout] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:41:86
[INFO] [stdout]    |
[INFO] [stdout] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:42:93
[INFO] [stdout]    |
[INFO] [stdout] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:43:93
[INFO] [stdout]    |
[INFO] [stdout] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:44:93
[INFO] [stdout]    |
[INFO] [stdout] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:45:93
[INFO] [stdout]    |
[INFO] [stdout] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:46:93
[INFO] [stdout]    |
[INFO] [stdout] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:47:93
[INFO] [stdout]    |
[INFO] [stdout] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:48:93
[INFO] [stdout]    |
[INFO] [stdout] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:49:93
[INFO] [stdout]    |
[INFO] [stdout] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:50:93
[INFO] [stdout]    |
[INFO] [stdout] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:51:95
[INFO] [stdout]    |
[INFO] [stdout] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<dyn App>,
[INFO] [stdout]    |                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_proxy`
[INFO] [stdout]    --> src/gfx.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(window_proxy: WindowProxy) -> GfxContext {
[INFO] [stdout]     |                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_proxy`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/gfx.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Program {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 34 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `refresh_shaders` is never used
[INFO] [stdout]    --> src/gfx.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl GfxContext {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn refresh_shaders(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/util.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 14 -             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stdout] 14 +             panic!("Unable to open file {}", path.display());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.21
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7c1093a79ccaa644c6f55d15d75f312696f59026bd2813062132dbf5eaf31465", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c1093a79ccaa644c6f55d15d75f312696f59026bd2813062132dbf5eaf31465", kill_on_drop: false }`
[INFO] [stdout] 7c1093a79ccaa644c6f55d15d75f312696f59026bd2813062132dbf5eaf31465
[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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4b2f977ab5bc2d4cfec830ee1a490dcfd29cc0ba1c37a851c4e5c2e7833f5481
[INFO] running `Command { std: "docker" "start" "-a" "4b2f977ab5bc2d4cfec830ee1a490dcfd29cc0ba1c37a851c4e5c2e7833f5481", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Receiver`, `channel`
[INFO] [stderr]  --> src/gfx.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]  --> src/gfx.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::thread;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/gfx.rs:87:37
[INFO] [stderr]    |
[INFO] [stderr] 87 |             data.push(unsafe { mem::uninitialized() });
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:32:68
[INFO] [stderr]    |
[INFO] [stderr] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 32 |         "test" => Box::new(apps::test::Test::new(&mut gfx)) as Box<dyn App>,
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:33:85
[INFO] [stderr]    |
[INFO] [stderr] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 33 |         "null" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 0)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:34:87
[INFO] [stderr]    |
[INFO] [stderr] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |         "clear1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 0)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:35:87
[INFO] [stderr]    |
[INFO] [stderr] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 35 |         "clear2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 2, 0)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:36:87
[INFO] [stderr]    |
[INFO] [stderr] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 36 |         "clear4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 4, 0)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:37:87
[INFO] [stderr]    |
[INFO] [stderr] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |         "clear8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 8, 0)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:38:86
[INFO] [stderr]    |
[INFO] [stderr] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 38 |         "quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 1)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:39:86
[INFO] [stderr]    |
[INFO] [stderr] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 39 |         "quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 2)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:40:86
[INFO] [stderr]    |
[INFO] [stderr] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 |         "quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 4)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:41:86
[INFO] [stderr]    |
[INFO] [stderr] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 41 |         "quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 0, 8)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:42:93
[INFO] [stderr]    |
[INFO] [stderr] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 42 |         "clear1_quad1" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 1)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:43:93
[INFO] [stderr]    |
[INFO] [stderr] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 43 |         "clear1_quad2" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 2)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:44:93
[INFO] [stderr]    |
[INFO] [stderr] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 44 |         "clear1_quad3" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 3)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:45:93
[INFO] [stderr]    |
[INFO] [stderr] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 45 |         "clear1_quad4" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 4)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:46:93
[INFO] [stderr]    |
[INFO] [stderr] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 |         "clear1_quad5" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 5)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:47:93
[INFO] [stderr]    |
[INFO] [stderr] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 47 |         "clear1_quad6" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 6)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:48:93
[INFO] [stderr]    |
[INFO] [stderr] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 48 |         "clear1_quad7" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 7)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:49:93
[INFO] [stderr]    |
[INFO] [stderr] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 49 |         "clear1_quad8" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 8)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:50:93
[INFO] [stderr]    |
[INFO] [stderr] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 50 |         "clear1_quad9" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 9)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:51:95
[INFO] [stderr]    |
[INFO] [stderr] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<App>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 51 |         "clear1_quad10" => Box::new(apps::quad_bench::QuadBench::new(&mut gfx, 1, 10)) as Box<dyn App>,
[INFO] [stderr]    |                                                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_proxy`
[INFO] [stderr]    --> src/gfx.rs:144:16
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn new(window_proxy: WindowProxy) -> GfxContext {
[INFO] [stderr]     |                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_proxy`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `path` is never read
[INFO] [stderr]   --> src/gfx.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct Program {
[INFO] [stderr]    |        ------- field in this struct
[INFO] [stderr] 34 |     path: PathBuf,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `refresh_shaders` is never used
[INFO] [stderr]    --> src/gfx.rs:293:12
[INFO] [stderr]     |
[INFO] [stderr] 143 | impl GfxContext {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 293 |     pub fn refresh_shaders(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/util.rs:14:20
[INFO] [stderr]    |
[INFO] [stderr] 14 |             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 14 -             panic!(format!("Unable to open file {}", path.display()));
[INFO] [stderr] 14 +             panic!("Unable to open file {}", path.display());
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `gl_sandpit` (bin "gl_sandpit" test) generated 27 warnings (run `cargo fix --bin "gl_sandpit" --tests` to apply 24 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.21
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gl_sandpit-a057f78d552ee1c0)
[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" "4b2f977ab5bc2d4cfec830ee1a490dcfd29cc0ba1c37a851c4e5c2e7833f5481", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b2f977ab5bc2d4cfec830ee1a490dcfd29cc0ba1c37a851c4e5c2e7833f5481", kill_on_drop: false }`
[INFO] [stdout] 4b2f977ab5bc2d4cfec830ee1a490dcfd29cc0ba1c37a851c4e5c2e7833f5481
