[INFO] fetching crate servo-glutin 0.15.0...
[INFO] testing servo-glutin-0.15.0 against 1.90.0 for beta-1.91-2
[INFO] extracting crate servo-glutin 0.15.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate servo-glutin 0.15.0
[INFO] finished tweaking crates.io crate servo-glutin 0.15.0
[INFO] tweaked toml for crates.io crate servo-glutin 0.15.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate servo-glutin 0.15.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 58 packages to latest compatible versions
[INFO] [stderr]       Adding cgl v0.2.3 (available: v0.3.2)
[INFO] [stderr]       Adding cocoa v0.14.0 (available: v0.26.1)
[INFO] [stderr]       Adding core-foundation v0.5.1 (available: v0.10.1)
[INFO] [stderr]       Adding core-graphics v0.13.0 (available: v0.25.0)
[INFO] [stderr]       Adding gl_generator v0.9.0 (available: v0.14.0)
[INFO] [stderr]       Adding image v0.18.0 (available: v0.25.8)
[INFO] [stderr]       Adding winapi v0.2.8 (available: v0.3.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded shell32-sys v0.1.2
[INFO] [stderr]   Downloaded num-rational v0.1.43
[INFO] [stderr]   Downloaded gif v0.9.2
[INFO] [stderr]   Downloaded enum_primitive v0.1.1
[INFO] [stderr]   Downloaded inflate v0.3.4
[INFO] [stderr]   Downloaded png v0.11.0
[INFO] [stderr]   Downloaded android_glue v0.2.3
[INFO] [stderr]   Downloaded cgl v0.2.3
[INFO] [stderr]   Downloaded osmesa-sys v0.1.2
[INFO] [stderr]   Downloaded core-foundation-sys v0.5.1
[INFO] [stderr]   Downloaded gl_generator v0.13.1
[INFO] [stderr]   Downloaded cocoa v0.14.0
[INFO] [stderr]   Downloaded xml-rs v0.7.0
[INFO] [stderr]   Downloaded image v0.18.0
[INFO] [stderr]   Downloaded gleam v0.6.19
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.22
[INFO] [stderr]   Downloaded core-foundation v0.5.1
[INFO] [stderr]   Downloaded core-graphics v0.13.0
[INFO] [stderr]   Downloaded dwmapi-sys v0.1.1
[INFO] [stderr]   Downloaded gl_generator v0.9.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85b9c6d68a7f302c98e66a034ca42b935cc24cbdcfb5447b2eb666eaec313635
[INFO] running `Command { std: "docker" "start" "-a" "85b9c6d68a7f302c98e66a034ca42b935cc24cbdcfb5447b2eb666eaec313635", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85b9c6d68a7f302c98e66a034ca42b935cc24cbdcfb5447b2eb666eaec313635", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85b9c6d68a7f302c98e66a034ca42b935cc24cbdcfb5447b2eb666eaec313635", kill_on_drop: false }`
[INFO] [stdout] 85b9c6d68a7f302c98e66a034ca42b935cc24cbdcfb5447b2eb666eaec313635
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bd4d0fc7f2d95b805a9797710bb8766190a49c3d4f2894cfd9d4e9b75e46354c
[INFO] running `Command { std: "docker" "start" "-a" "bd4d0fc7f2d95b805a9797710bb8766190a49c3d4f2894cfd9d4e9b75e46354c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling num-rational v0.1.43
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.3.4
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling gif v0.9.2
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling png v0.11.0
[INFO] [stderr]    Compiling servo-glutin v0.15.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling image v0.18.0
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]  --> src/api/dlopen.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[link="dl"]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]   = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/lib.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/dlopen.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             try!(choose_fbconfig(&egl, display, &egl_version, api, version, pf_reqs))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 try!(create_context(&self.egl, self.display, &self.egl_version,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/api/egl/mod.rs:619:6
[INFO] [stdout]     |
[INFO] [stdout] 619 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]   --> src/api/glx/mod.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{mem, ptr, slice};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform::Window as PlatformWindow`
[INFO] [stdout]   --> src/api/glx/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use platform::Window as PlatformWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/glx/mod.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             try!(choose_fbconfig(&glx, &extensions, xlib, display, screen_id, pf_reqs)
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     try!(create_context(&self.glx, &extra_functions, &self.extensions, (1, 0),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `XWindow`
[INFO] [stdout]  --> src/api/x11/mod.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::window::{Window, XWindow, PollEventsIterator, WaitEventsIterator, Context, WindowProxy};
[INFO] [stdout]   |                                ^^^^^^^                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x11_dl::xinput::*`
[INFO] [stdout]  --> src/api/x11/ffi.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use x11_dl::xinput::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/api/x11/window.rs:244:50
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   ffi::XI_DeviceChanged...ffi::XI_LASTEVENT => {
[INFO] [stdout]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:381:36
[INFO] [stdout]     |
[INFO] [stdout] 381 | ...   Prototype::Glx(try!(GlxContext::new(glx.clone(), &display.xlib, pf_reqs, &builder_clone_opengl_glx, display.display, screen_id)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:383:36
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:642:30
[INFO] [stdout]     |
[INFO] [stdout] 642 |                 Context::Glx(try!(ctxt.finish(window)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:645:30
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 Context::Egl(try!(ctxt.finish(window as *const libc::c_void)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/api/x11/window.rs:938:17
[INFO] [stdout]     |
[INFO] [stdout] 938 |                 /// Resize cursors
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |                 MouseCursor::EResize => load("right_side"),
[INFO] [stdout]     |                 ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type XErrorHandler = Option<unsafe extern fn(*mut ffi::Display, *mut ffi::XErrorEvent) -> libc::c_int>;
[INFO] [stdout]    |                                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let xlib = try!(ffi::Xlib::open());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let xcursor = try!(ffi::Xcursor::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let xf86vmode = try!(ffi::Xf86vmode::open());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let xinput2 = try!(ffi::XInput2::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/platform/linux/api_dispatch.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use Event;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:64
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:87
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:67
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:597:30
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:598:32
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:164:59
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:381:39
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint64_t`: Use u64 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type khronos_uint64_t = libc::uint64_t;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub type EGLint = libc::int32_t;
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:55
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/input.rs:145:46
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:284:41
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:339:50
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:340:70
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:689:54
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:814:46
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:815:43
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:816:43
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:817:48
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:818:49
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:819:49
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:820:48
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]     --> src/api/x11/window.rs:1007:49
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<std::error::Error + Send>),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<dyn std::error::Error + Send>),
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/egl_bindings.rs:379:47
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_bindings.rs:431:47
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_extra_bindings.rs:457:47
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&dyn std::error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:181:34
[INFO] [stdout]     |
[INFO] [stdout] 181 |         formatter.write_str(self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:213:51
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ContextError::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/x11/window.rs:918:17
[INFO] [stdout]     |
[INFO] [stdout] 918 |             let mut xcursor = match cursor {
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_id` is never read
[INFO] [stdout]   --> src/api/egl/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     config_id: ffi::egl::types::EGLConfig
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]   --> src/api/x11/input.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Axis {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 23 |     id: i32,
[INFO] [stdout] 24 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Axis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:191:24
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:163:54
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:381:34
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*const c_void` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:597:25
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:598:27
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:50
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/input.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:339:45
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut x11_dl::xf86vmode::XF86VidModeModeInfo` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:340:65
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:689:49
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:814:41
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:815:38
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:816:38
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:817:43
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:818:44
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:819:44
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:820:43
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:867:24
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:874:24
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `x11_dl::xlib::XColor` does not permit being left uninitialized
[INFO] [stdout]     --> src/api/x11/window.rs:1007:44
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this code causes undefined behavior when executed
[INFO] [stdout]      |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:200:24
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:389:24
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.17s
[INFO] running `Command { std: "docker" "inspect" "bd4d0fc7f2d95b805a9797710bb8766190a49c3d4f2894cfd9d4e9b75e46354c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd4d0fc7f2d95b805a9797710bb8766190a49c3d4f2894cfd9d4e9b75e46354c", kill_on_drop: false }`
[INFO] [stdout] bd4d0fc7f2d95b805a9797710bb8766190a49c3d4f2894cfd9d4e9b75e46354c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d4358beae914a3446100376ab5f2f282500f5aae50f55b51ba263588b7fcee2
[INFO] running `Command { std: "docker" "start" "-a" "9d4358beae914a3446100376ab5f2f282500f5aae50f55b51ba263588b7fcee2", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]  --> src/api/dlopen.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[link="dl"]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]   = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/lib.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/dlopen.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             try!(choose_fbconfig(&egl, display, &egl_version, api, version, pf_reqs))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 try!(create_context(&self.egl, self.display, &self.egl_version,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/api/egl/mod.rs:619:6
[INFO] [stdout]     |
[INFO] [stdout] 619 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]   --> src/api/glx/mod.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{mem, ptr, slice};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform::Window as PlatformWindow`
[INFO] [stdout]   --> src/api/glx/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use platform::Window as PlatformWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/glx/mod.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             try!(choose_fbconfig(&glx, &extensions, xlib, display, screen_id, pf_reqs)
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     try!(create_context(&self.glx, &extra_functions, &self.extensions, (1, 0),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `XWindow`
[INFO] [stdout]  --> src/api/x11/mod.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::window::{Window, XWindow, PollEventsIterator, WaitEventsIterator, Context, WindowProxy};
[INFO] [stdout]   |                                ^^^^^^^                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x11_dl::xinput::*`
[INFO] [stdout]  --> src/api/x11/ffi.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use x11_dl::xinput::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/api/x11/window.rs:244:50
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   ffi::XI_DeviceChanged...ffi::XI_LASTEVENT => {
[INFO] [stdout]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:381:36
[INFO] [stdout]     |
[INFO] [stdout] 381 | ...   Prototype::Glx(try!(GlxContext::new(glx.clone(), &display.xlib, pf_reqs, &builder_clone_opengl_glx, display.display, screen_id)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:383:36
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:642:30
[INFO] [stdout]     |
[INFO] [stdout] 642 |                 Context::Glx(try!(ctxt.finish(window)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:645:30
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 Context::Egl(try!(ctxt.finish(window as *const libc::c_void)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/api/x11/window.rs:938:17
[INFO] [stdout]     |
[INFO] [stdout] 938 |                 /// Resize cursors
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |                 MouseCursor::EResize => load("right_side"),
[INFO] [stdout]     |                 ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type XErrorHandler = Option<unsafe extern fn(*mut ffi::Display, *mut ffi::XErrorEvent) -> libc::c_int>;
[INFO] [stdout]    |                                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let xlib = try!(ffi::Xlib::open());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let xcursor = try!(ffi::Xcursor::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let xf86vmode = try!(ffi::Xf86vmode::open());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let xinput2 = try!(ffi::XInput2::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/platform/linux/api_dispatch.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use Event;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:64
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:87
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:67
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:597:30
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:598:32
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling servo-glutin v0.15.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:164:59
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:381:39
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint64_t`: Use u64 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type khronos_uint64_t = libc::uint64_t;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub type EGLint = libc::int32_t;
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:55
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/input.rs:145:46
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:284:41
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:339:50
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:340:70
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:689:54
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:814:46
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:815:43
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:816:43
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:817:48
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:818:49
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:819:49
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:820:48
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]     --> src/api/x11/window.rs:1007:49
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<std::error::Error + Send>),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<dyn std::error::Error + Send>),
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/egl_bindings.rs:379:47
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_bindings.rs:431:47
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_extra_bindings.rs:457:47
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&dyn std::error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:181:34
[INFO] [stdout]     |
[INFO] [stdout] 181 |         formatter.write_str(self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:213:51
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ContextError::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/x11/window.rs:918:17
[INFO] [stdout]     |
[INFO] [stdout] 918 |             let mut xcursor = match cursor {
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_id` is never read
[INFO] [stdout]   --> src/api/egl/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     config_id: ffi::egl::types::EGLConfig
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]   --> src/api/x11/input.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Axis {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 23 |     id: i32,
[INFO] [stdout] 24 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Axis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:191:24
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:163:54
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:381:34
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*const c_void` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:597:25
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:598:27
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:50
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/input.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:339:45
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut x11_dl::xf86vmode::XF86VidModeModeInfo` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:340:65
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:689:49
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:814:41
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:815:38
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:816:38
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:817:43
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:818:44
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:819:44
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:820:43
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:867:24
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:874:24
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `x11_dl::xlib::XColor` does not permit being left uninitialized
[INFO] [stdout]     --> src/api/x11/window.rs:1007:44
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this code causes undefined behavior when executed
[INFO] [stdout]      |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:200:24
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:389:24
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `window`
[INFO] [stdout]  --> tests/window_proxy_send.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(feature = "window")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `headless`, and `image`
[INFO] [stdout]   = help: consider adding `window` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glutin::*`
[INFO] [stdout]  --> tests/headless.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glutin::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> tests/headless.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::Gles2 as Gl`
[INFO] [stdout]  --> tests/headless.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub use self::Gles2 as Gl;
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl::types::*`
[INFO] [stdout]   --> tests/headless.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use gl::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]  --> src/api/dlopen.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[link="dl"]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]   = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]   --> src/lib.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | use std::cmp::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/dlopen.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             try!(choose_fbconfig(&egl, display, &egl_version, api, version, pf_reqs))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/egl/mod.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 try!(create_context(&self.egl, self.display, &self.egl_version,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/api/egl/mod.rs:619:6
[INFO] [stdout]     |
[INFO] [stdout] 619 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]   --> src/api/glx/mod.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::{mem, ptr, slice};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform::Window as PlatformWindow`
[INFO] [stdout]   --> src/api/glx/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use platform::Window as PlatformWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/glx/mod.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             try!(choose_fbconfig(&glx, &extensions, xlib, display, screen_id, pf_reqs)
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     try!(create_context(&self.glx, &extra_functions, &self.extensions, (1, 0),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/glx/mod.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `XWindow`
[INFO] [stdout]  --> src/api/x11/mod.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::window::{Window, XWindow, PollEventsIterator, WaitEventsIterator, Context, WindowProxy};
[INFO] [stdout]   |                                ^^^^^^^                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `x11_dl::xinput::*`
[INFO] [stdout]  --> src/api/x11/ffi.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use x11_dl::xinput::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/api/x11/window.rs:244:50
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   ffi::XI_DeviceChanged...ffi::XI_LASTEVENT => {
[INFO] [stdout]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:381:36
[INFO] [stdout]     |
[INFO] [stdout] 381 | ...   Prototype::Glx(try!(GlxContext::new(glx.clone(), &display.xlib, pf_reqs, &builder_clone_opengl_glx, display.display, screen_id)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:383:36
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:642:30
[INFO] [stdout]     |
[INFO] [stdout] 642 |                 Context::Glx(try!(ctxt.finish(window)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api/x11/window.rs:645:30
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 Context::Egl(try!(ctxt.finish(window as *const libc::c_void)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/api/x11/window.rs:938:17
[INFO] [stdout]     |
[INFO] [stdout] 938 |                 /// Resize cursors
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |                 MouseCursor::EResize => load("right_side"),
[INFO] [stdout]     |                 ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type XErrorHandler = Option<unsafe extern fn(*mut ffi::Display, *mut ffi::XErrorEvent) -> libc::c_int>;
[INFO] [stdout]    |                                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let xlib = try!(ffi::Xlib::open());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let xcursor = try!(ffi::Xcursor::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let xf86vmode = try!(ffi::Xf86vmode::open());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/api/x11/xdisplay.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let xinput2 = try!(ffi::XInput2::open());
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/platform/linux/api_dispatch.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use Event;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:64
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:19:87
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:44
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/api/caca/ffi.rs:20:67
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/api/caca/ffi.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stdout] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stdout] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stdout] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stdout] 23 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:597:30
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:598:32
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:610:38
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:163:59
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:164:59
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/egl/mod.rs:381:39
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint64_t`: Use u64 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type khronos_uint64_t = libc::uint64_t;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/api/egl/ffi.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub type EGLint = libc::int32_t;
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:55
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/input.rs:145:46
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:284:41
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:339:50
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:340:70
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:689:54
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:814:46
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:815:43
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:816:43
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:817:48
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:818:49
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:819:49
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/api/x11/window.rs:820:48
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]     --> src/api/x11/window.rs:1007:49
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<std::error::Error + Send>),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     NoBackendAvailable(Box<dyn std::error::Error + Send>),
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/egl_bindings.rs:379:47
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_bindings.rs:431:47
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_extra_bindings.rs:457:47
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn cause(&self) -> Option<&dyn std::error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/icon.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut window = glutin::WindowBuilder::new()
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/api/x11/xdisplay.rs:181:34
[INFO] [stdout]     |
[INFO] [stdout] 181 |         formatter.write_str(self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> examples/support/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:213:51
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ContextError::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/x11/window.rs:918:17
[INFO] [stdout]     |
[INFO] [stdout] 918 |             let mut xcursor = match cursor {
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut vb = mem::uninitialized();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      this code causes undefined behavior when executed
[INFO] [stdout]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/support/mod.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut vao = mem::uninitialized();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this code causes undefined behavior when executed
[INFO] [stdout]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_id` is never read
[INFO] [stdout]   --> src/api/egl/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     config_id: ffi::egl::types::EGLConfig
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]   --> src/api/x11/input.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Axis {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 23 |     id: i32,
[INFO] [stdout] 24 |     device_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Axis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:191:24
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/caca/mod.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:163:54
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:381:34
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*const c_void` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:597:25
[INFO] [stdout]     |
[INFO] [stdout] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:598:27
[INFO] [stdout]     |
[INFO] [stdout] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stdout]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stdout]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stdout]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stdout]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/egl/mod.rs:610:33
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 let mut value = mem::uninitialized();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stdout]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> src/api/osmesa/mod.rs:98:50
[INFO] [stdout]    |
[INFO] [stdout] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  this code causes undefined behavior when executed
[INFO] [stdout]    |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u8` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/input.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:339:45
[INFO] [stdout]     |
[INFO] [stdout] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut x11_dl::xf86vmode::XF86VidModeModeInfo` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:340:65
[INFO] [stdout]     |
[INFO] [stdout] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:689:49
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this code causes undefined behavior when executed
[INFO] [stdout]     |                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:814:41
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:815:38
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:816:38
[INFO] [stdout]     |
[INFO] [stdout] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:817:43
[INFO] [stdout]     |
[INFO] [stdout] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:818:44
[INFO] [stdout]     |
[INFO] [stdout] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:819:44
[INFO] [stdout]     |
[INFO] [stdout] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]    --> src/api/x11/window.rs:820:43
[INFO] [stdout]     |
[INFO] [stdout] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:867:24
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 867 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/api/x11/window.rs:874:24
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 874 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `x11_dl::xlib::XColor` does not permit being left uninitialized
[INFO] [stdout]     --> src/api/x11/window.rs:1007:44
[INFO] [stdout]      |
[INFO] [stdout] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this code causes undefined behavior when executed
[INFO] [stdout]      |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]      |
[INFO] [stdout]      = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:200:24
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/platform/linux/api_dispatch.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:389:24
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/window.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stdout]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 398 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.39s
[INFO] running `Command { std: "docker" "inspect" "9d4358beae914a3446100376ab5f2f282500f5aae50f55b51ba263588b7fcee2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d4358beae914a3446100376ab5f2f282500f5aae50f55b51ba263588b7fcee2", kill_on_drop: false }`
[INFO] [stdout] 9d4358beae914a3446100376ab5f2f282500f5aae50f55b51ba263588b7fcee2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d9314154eddf6db32e967c4759f85f6247fb9acc2944aaf0492789c59dbc22e0
[INFO] running `Command { std: "docker" "start" "-a" "d9314154eddf6db32e967c4759f85f6247fb9acc2944aaf0492789c59dbc22e0", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stderr]  --> src/api/dlopen.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | #[link="dl"]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stderr]   = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]   --> src/lib.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | use std::cmp::Ordering;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/caca/ffi.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stderr] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stderr] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stderr] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stderr] ...  |
[INFO] [stderr] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stderr] 23 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/api/dlopen.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | extern {
[INFO] [stderr]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/egl/mod.rs:235:13
[INFO] [stderr]     |
[INFO] [stderr] 235 |             try!(choose_fbconfig(&egl, display, &egl_version, api, version, pf_reqs))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/egl/mod.rs:428:17
[INFO] [stderr]     |
[INFO] [stderr] 428 |                 try!(create_context(&self.egl, self.display, &self.egl_version,
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/api/egl/mod.rs:619:6
[INFO] [stderr]     |
[INFO] [stderr] 619 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `slice`
[INFO] [stderr]   --> src/api/glx/mod.rs:18:21
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::{mem, ptr, slice};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `platform::Window as PlatformWindow`
[INFO] [stderr]   --> src/api/glx/mod.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use platform::Window as PlatformWindow;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/glx/mod.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |             try!(choose_fbconfig(&glx, &extensions, xlib, display, screen_id, pf_reqs)
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/glx/mod.rs:195:21
[INFO] [stderr]     |
[INFO] [stderr] 195 |                     try!(create_context(&self.glx, &extra_functions, &self.extensions, (1, 0),
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/glx/mod.rs:202:17
[INFO] [stderr]     |
[INFO] [stderr] 202 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/glx/mod.rs:209:17
[INFO] [stderr]     |
[INFO] [stderr] 209 |                 try!(create_context(&self.glx, &extra_functions, &self.extensions, (major, minor),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Context` and `XWindow`
[INFO] [stderr]  --> src/api/x11/mod.rs:4:32
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use self::window::{Window, XWindow, PollEventsIterator, WaitEventsIterator, Context, WindowProxy};
[INFO] [stderr]   |                                ^^^^^^^                                          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `x11_dl::xinput::*`
[INFO] [stderr]  --> src/api/x11/ffi.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use x11_dl::xinput::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/api/x11/window.rs:244:50
[INFO] [stderr]     |
[INFO] [stderr] 244 | ...                   ffi::XI_DeviceChanged...ffi::XI_LASTEVENT => {
[INFO] [stderr]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/x11/window.rs:381:36
[INFO] [stderr]     |
[INFO] [stderr] 381 | ...   Prototype::Glx(try!(GlxContext::new(glx.clone(), &display.xlib, pf_reqs, &builder_clone_opengl_glx, display.display, screen_id)))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/x11/window.rs:383:36
[INFO] [stderr]     |
[INFO] [stderr] 383 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/x11/window.rs:390:36
[INFO] [stderr]     |
[INFO] [stderr] 390 | ...   Prototype::Egl(try!(EglContext::new(egl.clone(), pf_reqs, &builder_clone_opengl_egl, egl::NativeDisplay::X11(Some(display.display a...
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/x11/window.rs:642:30
[INFO] [stderr]     |
[INFO] [stderr] 642 |                 Context::Glx(try!(ctxt.finish(window)))
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/api/x11/window.rs:645:30
[INFO] [stderr]     |
[INFO] [stderr] 645 |                 Context::Egl(try!(ctxt.finish(window as *const libc::c_void)))
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/api/x11/window.rs:938:17
[INFO] [stderr]     |
[INFO] [stderr] 938 |                 /// Resize cursors
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 939 |                 MouseCursor::EResize => load("right_side"),
[INFO] [stderr]     |                 ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/api/x11/xdisplay.rs:28:40
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub type XErrorHandler = Option<unsafe extern fn(*mut ffi::Display, *mut ffi::XErrorEvent) -> libc::c_int>;
[INFO] [stderr]    |                                        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/x11/xdisplay.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let xlib = try!(ffi::Xlib::open());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/x11/xdisplay.rs:34:23
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let xcursor = try!(ffi::Xcursor::open());
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/x11/xdisplay.rs:35:25
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let xf86vmode = try!(ffi::Xf86vmode::open());
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/api/x11/xdisplay.rs:36:23
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let xinput2 = try!(ffi::XInput2::open());
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Event`
[INFO] [stderr]   --> src/platform/linux/api_dispatch.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use Event;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stderr]   --> src/api/caca/ffi.rs:19:64
[INFO] [stderr]    |
[INFO] [stderr] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stderr]    |                                                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stderr]   --> src/api/caca/ffi.rs:19:87
[INFO] [stderr]    |
[INFO] [stderr] 19 | ...                   pitch: libc::c_int, rmask: libc::uint32_t, gmask: libc::uint32_t,
[INFO] [stderr]    |                                                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stderr]   --> src/api/caca/ffi.rs:20:44
[INFO] [stderr]    |
[INFO] [stderr] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stderr]    |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stderr]   --> src/api/caca/ffi.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 | ...                   bmask: libc::uint32_t, amask: libc::uint32_t) -> *mut caca_dither_t,
[INFO] [stderr]    |                                                           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/api/caca/ffi.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr]  9 | / shared_library!(LibCaca, "libcaca.so.0",
[INFO] [stderr] 10 | |     pub fn caca_create_display(cv: *mut caca_canvas_t) -> *mut caca_display_t,
[INFO] [stderr] 11 | |     pub fn caca_free_display(dp: *mut caca_display_t) -> libc::c_int,
[INFO] [stderr] 12 | |     pub fn caca_get_canvas(dp: *mut caca_display_t) -> *mut caca_canvas_t,
[INFO] [stderr] ...  |
[INFO] [stderr] 22 | |     pub fn caca_get_canvas_height(cv: *mut caca_canvas_t) -> libc::c_int,
[INFO] [stderr] 23 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `shared_library` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:597:30
[INFO] [stderr]     |
[INFO] [stderr] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:598:32
[INFO] [stderr]     |
[INFO] [stderr] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stderr]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stderr]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stderr]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stderr]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:610:38
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stderr]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:163:59
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:164:59
[INFO] [stderr]     |
[INFO] [stderr] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/egl/mod.rs:381:39
[INFO] [stderr]     |
[INFO] [stderr] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::uint64_t`: Use u64 instead.
[INFO] [stderr]   --> src/api/egl/ffi.rs:24:35
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub type khronos_uint64_t = libc::uint64_t;
[INFO] [stderr]    |                                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stderr]   --> src/api/egl/ffi.rs:26:25
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub type EGLint = libc::int32_t;
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/api/osmesa/mod.rs:98:55
[INFO] [stderr]    |
[INFO] [stderr] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/input.rs:145:46
[INFO] [stderr]     |
[INFO] [stderr] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:184:41
[INFO] [stderr]     |
[INFO] [stderr] 184 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:284:41
[INFO] [stderr]     |
[INFO] [stderr] 284 |             let mut xev = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:339:50
[INFO] [stderr]     |
[INFO] [stderr] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:340:70
[INFO] [stderr]     |
[INFO] [stderr] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:689:54
[INFO] [stderr]     |
[INFO] [stderr] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:814:46
[INFO] [stderr]     |
[INFO] [stderr] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:815:43
[INFO] [stderr]     |
[INFO] [stderr] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:816:43
[INFO] [stderr]     |
[INFO] [stderr] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:817:48
[INFO] [stderr]     |
[INFO] [stderr] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:818:49
[INFO] [stderr]     |
[INFO] [stderr] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:819:49
[INFO] [stderr]     |
[INFO] [stderr] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/api/x11/window.rs:820:48
[INFO] [stderr]     |
[INFO] [stderr] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]     --> src/api/x11/window.rs:1007:49
[INFO] [stderr]      |
[INFO] [stderr] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stderr]      |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:161:28
[INFO] [stderr]     |
[INFO] [stderr] 161 |     NoBackendAvailable(Box<std::error::Error + Send>),
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 161 |     NoBackendAvailable(Box<dyn std::error::Error + Send>),
[INFO] [stderr]     |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/egl_bindings.rs:379:47
[INFO] [stderr]     |
[INFO] [stderr] 379 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 379 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_bindings.rs:431:47
[INFO] [stderr]     |
[INFO] [stderr] 431 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 431 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_extra_bindings.rs:457:47
[INFO] [stderr]     |
[INFO] [stderr] 457 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 457 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/api/x11/xdisplay.rs:171:32
[INFO] [stderr]     |
[INFO] [stderr] 171 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 171 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:194:32
[INFO] [stderr]     |
[INFO] [stderr] 194 |     fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 194 |     fn cause(&self) -> Option<&dyn std::error::Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/api/x11/xdisplay.rs:181:34
[INFO] [stderr]     |
[INFO] [stderr] 181 |         formatter.write_str(self.description())
[INFO] [stderr]     |                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/lib.rs:213:51
[INFO] [stderr]     |
[INFO] [stderr] 213 |             ContextError::IoError(ref err) => err.description(),
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/api/x11/window.rs:918:17
[INFO] [stderr]     |
[INFO] [stderr] 918 |             let mut xcursor = match cursor {
[INFO] [stderr]     |                 ----^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `config_id` is never read
[INFO] [stderr]   --> src/api/egl/mod.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct Context {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 44 |     config_id: ffi::egl::types::EGLConfig
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `device_id` is never read
[INFO] [stderr]   --> src/api/x11/input.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | struct Axis {
[INFO] [stderr]    |        ---- field in this struct
[INFO] [stderr] 23 |     id: i32,
[INFO] [stderr] 24 |     device_id: i32,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Axis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/api/caca/mod.rs:191:24
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/api/caca/mod.rs:198:24
[INFO] [stderr]     |
[INFO] [stderr] 198 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 198 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:163:54
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let mut major: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:164:54
[INFO] [stderr]     |
[INFO] [stderr] 164 |             let mut minor: ffi::egl::types::EGLint = mem::uninitialized();
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:381:34
[INFO] [stderr]     |
[INFO] [stderr] 381 |         let mut value = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `*const c_void` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:597:25
[INFO] [stderr]     |
[INFO] [stderr] 597 |     let mut config_id = mem::uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:598:27
[INFO] [stderr]     |
[INFO] [stderr] 598 |     let mut num_configs = mem::uninitialized();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           this code causes undefined behavior when executed
[INFO] [stderr]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 622 |         hardware_accelerated: attrib!(egl, display, config_id, ffi::egl::CONFIG_CAVEAT)
[INFO] [stderr]     |                               --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 624 |         color_bits: attrib!(egl, display, config_id, ffi::egl::RED_SIZE) as u8 +
[INFO] [stderr]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 625 |                     attrib!(egl, display, config_id, ffi::egl::BLUE_SIZE) as u8 +
[INFO] [stderr]     |                     ----------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 626 |                     attrib!(egl, display, config_id, ffi::egl::GREEN_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 627 |         alpha_bits: attrib!(egl, display, config_id, ffi::egl::ALPHA_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 628 |         depth_bits: attrib!(egl, display, config_id, ffi::egl::DEPTH_SIZE) as u8,
[INFO] [stderr]     |                     ------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 629 |         stencil_bits: attrib!(egl, display, config_id, ffi::egl::STENCIL_SIZE) as u8,
[INFO] [stderr]     |                       -------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/egl/mod.rs:610:33
[INFO] [stderr]     |
[INFO] [stderr] 610 |                 let mut value = mem::uninitialized();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 632 |         multisampling: match attrib!(egl, display, config_id, ffi::egl::SAMPLES) {
[INFO] [stderr]     |                              --------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `attrib` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> src/api/osmesa/mod.rs:98:50
[INFO] [stderr]    |
[INFO] [stderr] 98 |             buffer: ::std::iter::repeat(unsafe { mem::uninitialized() })
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                                  |
[INFO] [stderr]    |                                                  this code causes undefined behavior when executed
[INFO] [stderr]    |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u8` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/input.rs:145:41
[INFO] [stderr]     |
[INFO] [stderr] 145 |             let mut buffer: [u8; 16] = [mem::uninitialized(); 16];
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         this code causes undefined behavior when executed
[INFO] [stderr]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:339:45
[INFO] [stderr]     |
[INFO] [stderr] 339 |             let mut mode_num: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             this code causes undefined behavior when executed
[INFO] [stderr]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `*mut *mut x11_dl::xf86vmode::XF86VidModeModeInfo` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:340:65
[INFO] [stderr]     |
[INFO] [stderr] 340 |             let mut modes: *mut *mut ffi::XF86VidModeModeInfo = mem::uninitialized();
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `XWindowAttributes` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:689:49
[INFO] [stderr]     |
[INFO] [stderr] 689 |                     let mut window_attributes = mem::uninitialized();
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 this code causes undefined behavior when executed
[INFO] [stderr]     |                                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:814:41
[INFO] [stderr]     |
[INFO] [stderr] 814 |             let mut root: ffi::Window = mem::uninitialized();
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         this code causes undefined behavior when executed
[INFO] [stderr]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:815:38
[INFO] [stderr]     |
[INFO] [stderr] 815 |             let mut x: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:816:38
[INFO] [stderr]     |
[INFO] [stderr] 816 |             let mut y: libc::c_int = mem::uninitialized();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this code causes undefined behavior when executed
[INFO] [stderr]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:817:43
[INFO] [stderr]     |
[INFO] [stderr] 817 |             let mut width: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:818:44
[INFO] [stderr]     |
[INFO] [stderr] 818 |             let mut height: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this code causes undefined behavior when executed
[INFO] [stderr]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:819:44
[INFO] [stderr]     |
[INFO] [stderr] 819 |             let mut border: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this code causes undefined behavior when executed
[INFO] [stderr]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]    --> src/api/x11/window.rs:820:43
[INFO] [stderr]     |
[INFO] [stderr] 820 |             let mut depth: libc::c_uint = mem::uninitialized();
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/api/x11/window.rs:867:24
[INFO] [stderr]     |
[INFO] [stderr] 867 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 867 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/api/x11/window.rs:874:24
[INFO] [stderr]     |
[INFO] [stderr] 874 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 874 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `x11_dl::xlib::XColor` does not permit being left uninitialized
[INFO] [stderr]     --> src/api/x11/window.rs:1007:44
[INFO] [stderr]      |
[INFO] [stderr] 1007 |             let dummy_color: ffi::XColor = mem::uninitialized();
[INFO] [stderr]      |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |                                            |
[INFO] [stderr]      |                                            this code causes undefined behavior when executed
[INFO] [stderr]      |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]      |
[INFO] [stderr]      = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/platform/linux/api_dispatch.rs:200:24
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/platform/linux/api_dispatch.rs:207:24
[INFO] [stderr]     |
[INFO] [stderr] 207 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 207 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/window.rs:389:24
[INFO] [stderr]     |
[INFO] [stderr] 389 |     pub fn poll_events(&self) -> PollEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 389 |     pub fn poll_events(&self) -> PollEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/window.rs:398:24
[INFO] [stderr]     |
[INFO] [stderr] 398 |     pub fn wait_events(&self) -> WaitEventsIterator {
[INFO] [stderr]     |                        ^^^^^     ------------------ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 398 |     pub fn wait_events(&self) -> WaitEventsIterator<'_> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `servo-glutin` (lib) generated 109 warnings (1 duplicate) (run `cargo fix --lib -p servo-glutin` to apply 16 suggestions)
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> examples/support/mod.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut vb = mem::uninitialized();
[INFO] [stderr]    |                           ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> examples/support/mod.rs:48:32
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let mut vao = mem::uninitialized();
[INFO] [stderr]    |                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/test_gl_bindings.rs:1205:47
[INFO] [stderr]      |
[INFO] [stderr] 1205 |                 fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]      = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1205 |                 fn do_metaloadfn(loadfn: &mut dyn FnMut(&'static str) -> *const __gl_imports::raw::c_void,
[INFO] [stderr]      |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/icon.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut window = glutin::WindowBuilder::new()
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> examples/support/mod.rs:40:22
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut vb = mem::uninitialized();
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      this code causes undefined behavior when executed
[INFO] [stderr]    |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> examples/support/mod.rs:48:27
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let mut vao = mem::uninitialized();
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           this code causes undefined behavior when executed
[INFO] [stderr]    |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `window`
[INFO] [stderr]  --> tests/window_proxy_send.rs:3:7
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[cfg(feature = "window")]
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `default`, `headless`, and `image`
[INFO] [stderr]   = help: consider adding `window` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `servo-glutin` (example "icon") generated 6 warnings (run `cargo fix --example "icon"` to apply 2 suggestions)
[INFO] [stderr] warning: `servo-glutin` (test "window_proxy_send") generated 1 warning
[INFO] [stderr] warning: `servo-glutin` (example "grabbing") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `servo-glutin` (example "multiwindow") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `servo-glutin` (example "cursor") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `servo-glutin` (example "window") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `servo-glutin` (example "fullscreen") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: unused import: `glutin::*`
[INFO] [stderr]  --> tests/headless.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use glutin::*;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> tests/headless.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::Gles2 as Gl`
[INFO] [stderr]  --> tests/headless.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub use self::Gles2 as Gl;
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gl::types::*`
[INFO] [stderr]   --> tests/headless.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use gl::types::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `servo-glutin` (test "headless") generated 5 warnings (1 duplicate) (run `cargo fix --test "headless"` to apply 4 suggestions)
[INFO] [stderr] warning: `servo-glutin` (example "transparent") generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `servo-glutin` (lib test) generated 109 warnings (109 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/glutin-e3697ee02791ca4e)
[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] [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] [stderr]      Running tests/headless.rs (/opt/rustwide/target/debug/deps/headless-ebc156cc477d0c19)
[INFO] [stderr]      Running tests/window_proxy_send.rs (/opt/rustwide/target/debug/deps/window_proxy_send-067a697a55b459f6)
[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] [stderr]    Doc-tests glutin
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/api/egl/mod.rs:619:6
[INFO] [stderr]     |
[INFO] [stderr] 619 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/api/x11/window.rs:244:50
[INFO] [stderr]     |
[INFO] [stderr] 244 | ...                   ffi::XI_DeviceChanged...ffi::XI_LASTEVENT => {
[INFO] [stderr]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/egl_bindings.rs - api::egl::ffi::egl::Egl::load_with (line 373) ... ignored
[INFO] [stdout] test /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_bindings.rs - api::x11::ffi::glx::Glx::load_with (line 425) ... ignored
[INFO] [stdout] test /opt/rustwide/target/debug/build/servo-glutin-59932b39147d51be/out/glx_extra_bindings.rs - api::x11::ffi::glx_extra::Glx::load_with (line 451) ... ignored
[INFO] [stdout] test src/lib.rs - Window (line 88) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d9314154eddf6db32e967c4759f85f6247fb9acc2944aaf0492789c59dbc22e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9314154eddf6db32e967c4759f85f6247fb9acc2944aaf0492789c59dbc22e0", kill_on_drop: false }`
[INFO] [stdout] d9314154eddf6db32e967c4759f85f6247fb9acc2944aaf0492789c59dbc22e0
