[INFO] fetching crate dmc 0.1.0...
[INFO] testing dmc-0.1.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate dmc 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate dmc 0.1.0
[INFO] finished tweaking crates.io crate dmc 0.1.0
[INFO] tweaked toml for crates.io crate dmc 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dmc 0.1.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 7 packages to latest compatible versions
[INFO] [stderr]       Adding num-traits v0.1.43 (available: v0.2.19)
[INFO] [stderr]       Adding uuid v0.5.1 (available: v1.19.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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 uuid v0.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 958c03694c05dcff807cfc7de641ae771b58b70a40e817d7a504b4558d702610
[INFO] running `Command { std: "docker" "start" "-a" "958c03694c05dcff807cfc7de641ae771b58b70a40e817d7a504b4558d702610", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "958c03694c05dcff807cfc7de641ae771b58b70a40e817d7a504b4558d702610", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "958c03694c05dcff807cfc7de641ae771b58b70a40e817d7a504b4558d702610", kill_on_drop: false }`
[INFO] [stdout] 958c03694c05dcff807cfc7de641ae771b58b70a40e817d7a504b4558d702610
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da06831b978888fef2a68aac9e7aabff46d0fed2ee7e894f7e94d2a74f9d223d
[INFO] running `Command { std: "docker" "start" "-a" "da06831b978888fef2a68aac9e7aabff46d0fed2ee7e894f7e94d2a74f9d223d", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling dmc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling uuid v0.5.1
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stdout] warning: unexpected `cfg` condition value: `winrt`
[INFO] [stdout]  --> build.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(target_os="winrt")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 more
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![cfg_attr(feature="cargo-clippy", allow(doc_markdown))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/display/x11.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:41
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:79
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[INFO] [stdout]     |                                                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:263:43
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub type glXSwapIntervalMESA = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                           ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:264:46
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub type glXGetSwapIntervalMESA = unsafe extern fn() -> c_int;
[INFO] [stdout]     |                                              ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub type glXSwapIntervalSGI = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:266:42
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub type glXSwapIntervalEXT = unsafe extern fn(
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:269:50
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub type glXCreateContextAttribsARB = unsafe extern fn(
[INFO] [stdout]     |                                                  ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:519:12
[INFO] [stdout]     |
[INFO] [stdout] 519 |     unsafe extern fn _is_map_notify_callback(_x_dpy: *mut x::Display, ev: *mut x::XEvent, win: x::XPointer) -> i32 {
[INFO] [stdout]     |            ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:560:11
[INFO] [stdout]     |
[INFO] [stdout] 560 |     #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/event/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/display/x11.rs:394:57
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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]    --> src/display/x11.rs:402:47
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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/display/x11.rs:546:56
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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/display/x11.rs:594:57
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = mem::uninitialized();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_implicit_prelude]` attribute cannot be used on constants
[INFO] [stdout]   --> src/display/x11.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[no_implicit_prelude]
[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]    = help: `#[no_implicit_prelude]` can be applied to crates and modules
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/display/x11.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |           let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |                                            ---------------- any code following this expression is unreachable
[INFO] [stdout] 776 | /         let attribs_arb = [
[INFO] [stdout] 777 | |             glx::arb::GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
[INFO] [stdout] 778 | |             glx::arb::GLX_CONTEXT_MINOR_VERSION_ARB, 0,
[INFO] [stdout] 779 | |             glx::arb::GLX_CONTEXT_FLAGS_ARB, 
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |             xx::None
[INFO] [stdout] 787 | |         ];
[INFO] [stdout]     | |__________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_vendor`
[INFO] [stdout]    --> src/display/x11.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |             let client_vendor  = glx::glXGetClientString(  x_dpy, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_vendor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_version`
[INFO] [stdout]    --> src/display/x11.rs:420:17
[INFO] [stdout]     |
[INFO] [stdout] 420 |             let client_version = glx::glXGetClientString(  x_dpy, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_vendor`
[INFO] [stdout]    --> src/display/x11.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let server_vendor  = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_version`
[INFO] [stdout]    --> src/display/x11.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |             let server_version = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resizable`
[INFO] [stdout]    --> src/display/x11.rs:458:23
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                       ^^^^^^^^^ help: try ignoring the field: `resizable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fully_opaque`
[INFO] [stdout]    --> src/display/x11.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ help: try ignoring the field: `fully_opaque: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opengl`
[INFO] [stdout]    --> src/display/x11.rs:458:48
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `opengl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allow_high_dpi`
[INFO] [stdout]    --> src/display/x11.rs:458:56
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^ help: try ignoring the field: `allow_high_dpi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/display/x11.rs:762:13
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |             ^^^^^^^ help: try ignoring the field: `version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug`
[INFO] [stdout]    --> src/display/x11.rs:762:22
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `debug: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_compatible`
[INFO] [stdout]    --> src/display/x11.rs:762:29
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `forward_compatible: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `profile`
[INFO] [stdout]    --> src/display/x11.rs:762:49
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                 ^^^^^^^ help: try ignoring the field: `profile: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msaa`
[INFO] [stdout]    --> src/display/x11.rs:762:58
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                          ^^^^ help: try ignoring the field: `msaa: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_fbc`
[INFO] [stdout]    --> src/display/x11.rs:775:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |         let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_fbc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/display/mod.rs:830:5
[INFO] [stdout]     |
[INFO] [stdout] 830 |     fn default() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 834 |             .. Default::default()
[INFO] [stdout]     |                ------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `gen_fbconfig_attribs` is never used
[INFO] [stdout]    --> src/display/x11.rs:690:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | impl Display {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn gen_fbconfig_attribs(settings: &GLContextSettings) -> [c_int; 37] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLX_EXTENSIONS` is never used
[INFO] [stdout]   --> src/display/x11.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub const GLX_EXTENSIONS: i32 = 3;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |               $(pub $func: Option<types::$func>,)+
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 | / glx_ext!((
[INFO] [stdout] 314 | |     GLX_ARB_multisample
[INFO] [stdout] 315 | |     GLX_EXT_swap_control
[INFO] [stdout] 316 | |     GLX_EXT_swap_control_tear
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |     glXCreateContextAttribsARB
[INFO] [stdout] 330 | | ));
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `PartialEq` which comes from the expansion of the macro `glx_ext` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Debug, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     get_proc_address: types::glXGetProcAddress,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `(i32, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:394:52
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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 `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:546:51
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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 `XTextProperty` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = 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: variable `glXCreateContextAttribsARB` should have a snake case name
[INFO] [stdout]    --> src/display/x11.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let glXCreateContextAttribsARB = glx.ext.glXCreateContextAttribsARB.unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gl_xcreate_context_attribs_arb`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `None` should have an upper case name
[INFO] [stdout]   --> src/display/x11.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const None: i32 = 0;
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 68 -     pub const None: i32 = 0;
[INFO] [stdout] 68 +     pub const NONE: i32 = 0;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:424:53
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window {
[INFO] [stdout]     |                                     --              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named 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: consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window<'b> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:431:67
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window {
[INFO] [stdout]     |                                         ----                      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'dpy`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window<'dpy> {
[INFO] [stdout]     |                                                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game_input_device/mod.rs:947:52
[INFO] [stdout]     |
[INFO] [stdout] 947 |     pub fn upload_haptic_effect<E: haptic::Effect>(&mut self, _effect: E) 
[INFO] [stdout]     |                                                    ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 948 |         -> Result<haptic::UploadedEffect, haptic::Error>
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the same lifetime is hidden here
[INFO] [stdout]     |                   the same lifetime is hidden 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] 948 |         -> Result<haptic::UploadedEffect<'_>, haptic::Error>
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/game_input_device/mod.rs:1162:21
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         pub fn play(&self) -> Result<PlayingEffect,()> {
[INFO] [stdout]      |                     ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]      |                     |                |
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[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] 1162 |         pub fn play(&self) -> Result<PlayingEffect<'_>,()> {
[INFO] [stdout]      |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/event/mod.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn start(&mut self) -> TextInputRecording { unimplemented!() }
[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] 123 |     pub fn start(&mut self) -> TextInputRecording<'_> { unimplemented!() }
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.41s
[INFO] running `Command { std: "docker" "inspect" "da06831b978888fef2a68aac9e7aabff46d0fed2ee7e894f7e94d2a74f9d223d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da06831b978888fef2a68aac9e7aabff46d0fed2ee7e894f7e94d2a74f9d223d", kill_on_drop: false }`
[INFO] [stdout] da06831b978888fef2a68aac9e7aabff46d0fed2ee7e894f7e94d2a74f9d223d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69cbb0e44bb12c18dee38015d6f0488e2017af1574651daed11c41ef5dc9c576
[INFO] running `Command { std: "docker" "start" "-a" "69cbb0e44bb12c18dee38015d6f0488e2017af1574651daed11c41ef5dc9c576", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unexpected `cfg` condition value: `winrt`
[INFO] [stdout]  --> build.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(target_os="winrt")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 more
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![cfg_attr(feature="cargo-clippy", allow(doc_markdown))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/display/x11.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:41
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:79
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[INFO] [stdout]     |                                                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:263:43
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub type glXSwapIntervalMESA = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                           ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:264:46
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub type glXGetSwapIntervalMESA = unsafe extern fn() -> c_int;
[INFO] [stdout]     |                                              ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub type glXSwapIntervalSGI = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:266:42
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub type glXSwapIntervalEXT = unsafe extern fn(
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:269:50
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub type glXCreateContextAttribsARB = unsafe extern fn(
[INFO] [stdout]     |                                                  ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:519:12
[INFO] [stdout]     |
[INFO] [stdout] 519 |     unsafe extern fn _is_map_notify_callback(_x_dpy: *mut x::Display, ev: *mut x::XEvent, win: x::XPointer) -> i32 {
[INFO] [stdout]     |            ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:560:11
[INFO] [stdout]     |
[INFO] [stdout] 560 |     #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/event/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/display/x11.rs:394:57
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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]    --> src/display/x11.rs:402:47
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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/display/x11.rs:546:56
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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/display/x11.rs:594:57
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = mem::uninitialized();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_implicit_prelude]` attribute cannot be used on constants
[INFO] [stdout]   --> src/display/x11.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[no_implicit_prelude]
[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]    = help: `#[no_implicit_prelude]` can be applied to crates and modules
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/display/x11.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |           let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |                                            ---------------- any code following this expression is unreachable
[INFO] [stdout] 776 | /         let attribs_arb = [
[INFO] [stdout] 777 | |             glx::arb::GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
[INFO] [stdout] 778 | |             glx::arb::GLX_CONTEXT_MINOR_VERSION_ARB, 0,
[INFO] [stdout] 779 | |             glx::arb::GLX_CONTEXT_FLAGS_ARB, 
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |             xx::None
[INFO] [stdout] 787 | |         ];
[INFO] [stdout]     | |__________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_vendor`
[INFO] [stdout]    --> src/display/x11.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |             let client_vendor  = glx::glXGetClientString(  x_dpy, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_vendor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_version`
[INFO] [stdout]    --> src/display/x11.rs:420:17
[INFO] [stdout]     |
[INFO] [stdout] 420 |             let client_version = glx::glXGetClientString(  x_dpy, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_vendor`
[INFO] [stdout]    --> src/display/x11.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let server_vendor  = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_version`
[INFO] [stdout]    --> src/display/x11.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |             let server_version = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resizable`
[INFO] [stdout]    --> src/display/x11.rs:458:23
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                       ^^^^^^^^^ help: try ignoring the field: `resizable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fully_opaque`
[INFO] [stdout]    --> src/display/x11.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ help: try ignoring the field: `fully_opaque: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opengl`
[INFO] [stdout]    --> src/display/x11.rs:458:48
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `opengl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allow_high_dpi`
[INFO] [stdout]    --> src/display/x11.rs:458:56
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^ help: try ignoring the field: `allow_high_dpi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/display/x11.rs:762:13
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |             ^^^^^^^ help: try ignoring the field: `version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug`
[INFO] [stdout]    --> src/display/x11.rs:762:22
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `debug: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_compatible`
[INFO] [stdout]    --> src/display/x11.rs:762:29
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `forward_compatible: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `profile`
[INFO] [stdout]    --> src/display/x11.rs:762:49
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                 ^^^^^^^ help: try ignoring the field: `profile: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msaa`
[INFO] [stdout]    --> src/display/x11.rs:762:58
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                          ^^^^ help: try ignoring the field: `msaa: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_fbc`
[INFO] [stdout]    --> src/display/x11.rs:775:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |         let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_fbc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/display/mod.rs:830:5
[INFO] [stdout]     |
[INFO] [stdout] 830 |     fn default() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 834 |             .. Default::default()
[INFO] [stdout]     |                ------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `gen_fbconfig_attribs` is never used
[INFO] [stdout]    --> src/display/x11.rs:690:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | impl Display {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn gen_fbconfig_attribs(settings: &GLContextSettings) -> [c_int; 37] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLX_EXTENSIONS` is never used
[INFO] [stdout]   --> src/display/x11.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub const GLX_EXTENSIONS: i32 = 3;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |               $(pub $func: Option<types::$func>,)+
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 | / glx_ext!((
[INFO] [stdout] 314 | |     GLX_ARB_multisample
[INFO] [stdout] 315 | |     GLX_EXT_swap_control
[INFO] [stdout] 316 | |     GLX_EXT_swap_control_tear
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |     glXCreateContextAttribsARB
[INFO] [stdout] 330 | | ));
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `PartialEq` which comes from the expansion of the macro `glx_ext` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Debug, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     get_proc_address: types::glXGetProcAddress,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `(i32, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:394:52
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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 `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:546:51
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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 `XTextProperty` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = 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: variable `glXCreateContextAttribsARB` should have a snake case name
[INFO] [stdout]    --> src/display/x11.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let glXCreateContextAttribsARB = glx.ext.glXCreateContextAttribsARB.unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gl_xcreate_context_attribs_arb`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `None` should have an upper case name
[INFO] [stdout]   --> src/display/x11.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const None: i32 = 0;
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 68 -     pub const None: i32 = 0;
[INFO] [stdout] 68 +     pub const NONE: i32 = 0;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:424:53
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window {
[INFO] [stdout]     |                                     --              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named 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: consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window<'b> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:431:67
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window {
[INFO] [stdout]     |                                         ----                      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'dpy`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window<'dpy> {
[INFO] [stdout]     |                                                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game_input_device/mod.rs:947:52
[INFO] [stdout]     |
[INFO] [stdout] 947 |     pub fn upload_haptic_effect<E: haptic::Effect>(&mut self, _effect: E) 
[INFO] [stdout]     |                                                    ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 948 |         -> Result<haptic::UploadedEffect, haptic::Error>
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the same lifetime is hidden here
[INFO] [stdout]     |                   the same lifetime is hidden 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] 948 |         -> Result<haptic::UploadedEffect<'_>, haptic::Error>
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/game_input_device/mod.rs:1162:21
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         pub fn play(&self) -> Result<PlayingEffect,()> {
[INFO] [stdout]      |                     ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]      |                     |                |
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[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] 1162 |         pub fn play(&self) -> Result<PlayingEffect<'_>,()> {
[INFO] [stdout]      |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/event/mod.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn start(&mut self) -> TextInputRecording { unimplemented!() }
[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] 123 |     pub fn start(&mut self) -> TextInputRecording<'_> { unimplemented!() }
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dmc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![cfg_attr(feature="cargo-clippy", allow(doc_markdown))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/display/x11.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:41
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:262:79
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[INFO] [stdout]     |                                                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:263:43
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub type glXSwapIntervalMESA = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                           ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:264:46
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub type glXGetSwapIntervalMESA = unsafe extern fn() -> c_int;
[INFO] [stdout]     |                                              ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub type glXSwapIntervalSGI = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:266:42
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub type glXSwapIntervalEXT = unsafe extern fn(
[INFO] [stdout]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:269:50
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub type glXCreateContextAttribsARB = unsafe extern fn(
[INFO] [stdout]     |                                                  ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]    --> src/display/x11.rs:519:12
[INFO] [stdout]     |
[INFO] [stdout] 519 |     unsafe extern fn _is_map_notify_callback(_x_dpy: *mut x::Display, ev: *mut x::XEvent, win: x::XPointer) -> i32 {
[INFO] [stdout]     |            ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stdout]    --> src/display/mod.rs:560:11
[INFO] [stdout]     |
[INFO] [stdout] 560 |     #[cfg(dmc_display_backend="x11")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/event/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/display/x11.rs:394:57
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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]    --> src/display/x11.rs:402:47
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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/display/x11.rs:546:56
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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/display/x11.rs:594:57
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = mem::uninitialized();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_implicit_prelude]` attribute cannot be used on constants
[INFO] [stdout]   --> src/display/x11.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[no_implicit_prelude]
[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]    = help: `#[no_implicit_prelude]` can be applied to crates and modules
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/display/x11.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |           let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |                                            ---------------- any code following this expression is unreachable
[INFO] [stdout] 776 | /         let attribs_arb = [
[INFO] [stdout] 777 | |             glx::arb::GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
[INFO] [stdout] 778 | |             glx::arb::GLX_CONTEXT_MINOR_VERSION_ARB, 0,
[INFO] [stdout] 779 | |             glx::arb::GLX_CONTEXT_FLAGS_ARB, 
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |             xx::None
[INFO] [stdout] 787 | |         ];
[INFO] [stdout]     | |__________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_vendor`
[INFO] [stdout]    --> src/display/x11.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |             let client_vendor  = glx::glXGetClientString(  x_dpy, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_vendor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_version`
[INFO] [stdout]    --> src/display/x11.rs:420:17
[INFO] [stdout]     |
[INFO] [stdout] 420 |             let client_version = glx::glXGetClientString(  x_dpy, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_vendor`
[INFO] [stdout]    --> src/display/x11.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let server_vendor  = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VENDOR);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_version`
[INFO] [stdout]    --> src/display/x11.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |             let server_version = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VERSION);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resizable`
[INFO] [stdout]    --> src/display/x11.rs:458:23
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                       ^^^^^^^^^ help: try ignoring the field: `resizable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fully_opaque`
[INFO] [stdout]    --> src/display/x11.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ help: try ignoring the field: `fully_opaque: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opengl`
[INFO] [stdout]    --> src/display/x11.rs:458:48
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `opengl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allow_high_dpi`
[INFO] [stdout]    --> src/display/x11.rs:458:56
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^ help: try ignoring the field: `allow_high_dpi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/display/x11.rs:762:13
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |             ^^^^^^^ help: try ignoring the field: `version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug`
[INFO] [stdout]    --> src/display/x11.rs:762:22
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `debug: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_compatible`
[INFO] [stdout]    --> src/display/x11.rs:762:29
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `forward_compatible: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `profile`
[INFO] [stdout]    --> src/display/x11.rs:762:49
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                 ^^^^^^^ help: try ignoring the field: `profile: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msaa`
[INFO] [stdout]    --> src/display/x11.rs:762:58
[INFO] [stdout]     |
[INFO] [stdout] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stdout]     |                                                          ^^^^ help: try ignoring the field: `msaa: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_fbc`
[INFO] [stdout]    --> src/display/x11.rs:775:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |         let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_fbc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/display/mod.rs:830:5
[INFO] [stdout]     |
[INFO] [stdout] 830 |     fn default() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 834 |             .. Default::default()
[INFO] [stdout]     |                ------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `gen_fbconfig_attribs` is never used
[INFO] [stdout]    --> src/display/x11.rs:690:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | impl Display {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn gen_fbconfig_attribs(settings: &GLContextSettings) -> [c_int; 37] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLX_EXTENSIONS` is never used
[INFO] [stdout]   --> src/display/x11.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub const GLX_EXTENSIONS: i32 = 3;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |               $(pub $func: Option<types::$func>,)+
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 | / glx_ext!((
[INFO] [stdout] 314 | |     GLX_ARB_multisample
[INFO] [stdout] 315 | |     GLX_EXT_swap_control
[INFO] [stdout] 316 | |     GLX_EXT_swap_control_tear
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |     glXCreateContextAttribsARB
[INFO] [stdout] 330 | | ));
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `PartialEq` which comes from the expansion of the macro `glx_ext` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/display/x11.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Debug, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     get_proc_address: types::glXGetProcAddress,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `(i32, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:394:52
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let (mut error_base, mut event_base) = 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, i32)` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let (mut major, mut minor) = 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 `XWindowAttributes` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:546:51
[INFO] [stdout]     |
[INFO] [stdout] 546 |             let mut attrs: x::XWindowAttributes = 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 `XTextProperty` does not permit being left uninitialized
[INFO] [stdout]    --> src/display/x11.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 |             let mut title_prop: x::XTextProperty = 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: variable `glXCreateContextAttribsARB` should have a snake case name
[INFO] [stdout]    --> src/display/x11.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let glXCreateContextAttribsARB = glx.ext.glXCreateContextAttribsARB.unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gl_xcreate_context_attribs_arb`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `None` should have an upper case name
[INFO] [stdout]   --> src/display/x11.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const None: i32 = 0;
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 68 -     pub const None: i32 = 0;
[INFO] [stdout] 68 +     pub const NONE: i32 = 0;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:424:53
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window {
[INFO] [stdout]     |                                     --              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is named 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: consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window<'b> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/display/mod.rs:431:67
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window {
[INFO] [stdout]     |                                         ----                      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'dpy`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window<'dpy> {
[INFO] [stdout]     |                                                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game_input_device/mod.rs:947:52
[INFO] [stdout]     |
[INFO] [stdout] 947 |     pub fn upload_haptic_effect<E: haptic::Effect>(&mut self, _effect: E) 
[INFO] [stdout]     |                                                    ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 948 |         -> Result<haptic::UploadedEffect, haptic::Error>
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the same lifetime is hidden here
[INFO] [stdout]     |                   the same lifetime is hidden 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] 948 |         -> Result<haptic::UploadedEffect<'_>, haptic::Error>
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/game_input_device/mod.rs:1162:21
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         pub fn play(&self) -> Result<PlayingEffect,()> {
[INFO] [stdout]      |                     ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]      |                     |                |
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[INFO] [stdout]      |                     |                the same lifetime is hidden here
[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] 1162 |         pub fn play(&self) -> Result<PlayingEffect<'_>,()> {
[INFO] [stdout]      |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/event/mod.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn start(&mut self) -> TextInputRecording { unimplemented!() }
[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] 123 |     pub fn start(&mut self) -> TextInputRecording<'_> { unimplemented!() }
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.01s
[INFO] running `Command { std: "docker" "inspect" "69cbb0e44bb12c18dee38015d6f0488e2017af1574651daed11c41ef5dc9c576", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69cbb0e44bb12c18dee38015d6f0488e2017af1574651daed11c41ef5dc9c576", kill_on_drop: false }`
[INFO] [stdout] 69cbb0e44bb12c18dee38015d6f0488e2017af1574651daed11c41ef5dc9c576
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ed852873ba5ce0c4d2ca555eccc391e914fbd07da8b7b12dd6756d60688e4605
[INFO] running `Command { std: "docker" "start" "-a" "ed852873ba5ce0c4d2ca555eccc391e914fbd07da8b7b12dd6756d60688e4605", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unexpected `cfg` condition value: `winrt`
[INFO] [stdout] 
[INFO] [stderr]  --> build.rs:7:7
[INFO] [stdout] running 1 test
[INFO] [stderr]   |
[INFO] [stdout] test semver::test_semver_cmp ... ok
[INFO] [stderr] 7 | #[cfg(target_os="winrt")]
[INFO] [stdout] 
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]   |
[INFO] [stdout] 
[INFO] [stderr]   = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 more
[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: `dmc` (build script) generated 1 warning
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/lib.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | #![cfg_attr(feature="cargo-clippy", allow(doc_markdown))]
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stderr]    --> src/display/mod.rs:146:7
[INFO] [stderr]     |
[INFO] [stderr] 146 | #[cfg(dmc_display_backend="x11")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/display/x11.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:262:41
[INFO] [stderr]     |
[INFO] [stderr] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[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: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:262:79
[INFO] [stderr]     |
[INFO] [stderr] 262 |     pub type glXGetProcAddress = unsafe extern fn(*const u8) -> Option<unsafe extern fn()>;
[INFO] [stderr]     |                                                                               ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:263:43
[INFO] [stderr]     |
[INFO] [stderr] 263 |     pub type glXSwapIntervalMESA = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stderr]     |                                           ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:264:46
[INFO] [stderr]     |
[INFO] [stderr] 264 |     pub type glXGetSwapIntervalMESA = unsafe extern fn() -> c_int;
[INFO] [stderr]     |                                              ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:265:42
[INFO] [stderr]     |
[INFO] [stderr] 265 |     pub type glXSwapIntervalSGI = unsafe extern fn(interval: c_int) -> c_int;
[INFO] [stderr]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:266:42
[INFO] [stderr]     |
[INFO] [stderr] 266 |     pub type glXSwapIntervalEXT = unsafe extern fn(
[INFO] [stderr]     |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:269:50
[INFO] [stderr]     |
[INFO] [stderr] 269 |     pub type glXCreateContextAttribsARB = unsafe extern fn(
[INFO] [stderr]     |                                                  ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]    --> src/display/x11.rs:519:12
[INFO] [stderr]     |
[INFO] [stderr] 519 |     unsafe extern fn _is_map_notify_callback(_x_dpy: *mut x::Display, ev: *mut x::XEvent, win: x::XPointer) -> i32 {
[INFO] [stderr]     |            ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `dmc_display_backend`
[INFO] [stderr]    --> src/display/mod.rs:560:11
[INFO] [stderr]     |
[INFO] [stderr] 560 |     #[cfg(dmc_display_backend="x11")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dmc_display_backend, values("x11"))'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dmc_display_backend, values(\"x11\"))");` to the top of the `build.rs`
[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] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/event/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/display/x11.rs:394:57
[INFO] [stderr]     |
[INFO] [stderr] 394 |             let (mut error_base, mut event_base) = 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]    --> src/display/x11.rs:402:47
[INFO] [stderr]     |
[INFO] [stderr] 402 |             let (mut major, mut minor) = mem::uninitialized();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/display/x11.rs:546:56
[INFO] [stderr]     |
[INFO] [stderr] 546 |             let mut attrs: x::XWindowAttributes = mem::uninitialized();
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/display/x11.rs:594:57
[INFO] [stderr]     |
[INFO] [stderr] 594 |             let mut title_prop: x::XTextProperty = mem::uninitialized();
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `#[no_implicit_prelude]` attribute cannot be used on constants
[INFO] [stderr]   --> src/display/x11.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     #[no_implicit_prelude]
[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]    = help: `#[no_implicit_prelude]` can be applied to crates and modules
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/display/x11.rs:776:9
[INFO] [stderr]     |
[INFO] [stderr] 775 |           let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stderr]     |                                            ---------------- any code following this expression is unreachable
[INFO] [stderr] 776 | /         let attribs_arb = [
[INFO] [stderr] 777 | |             glx::arb::GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
[INFO] [stderr] 778 | |             glx::arb::GLX_CONTEXT_MINOR_VERSION_ARB, 0,
[INFO] [stderr] 779 | |             glx::arb::GLX_CONTEXT_FLAGS_ARB, 
[INFO] [stderr] ...   |
[INFO] [stderr] 786 | |             xx::None
[INFO] [stderr] 787 | |         ];
[INFO] [stderr]     | |__________^ unreachable statement
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client_vendor`
[INFO] [stderr]    --> src/display/x11.rs:419:17
[INFO] [stderr]     |
[INFO] [stderr] 419 |             let client_vendor  = glx::glXGetClientString(  x_dpy, xx::GLX_VENDOR);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_vendor`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client_version`
[INFO] [stderr]    --> src/display/x11.rs:420:17
[INFO] [stderr]     |
[INFO] [stderr] 420 |             let client_version = glx::glXGetClientString(  x_dpy, xx::GLX_VERSION);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_version`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `server_vendor`
[INFO] [stderr]    --> src/display/x11.rs:421:17
[INFO] [stderr]     |
[INFO] [stderr] 421 |             let server_vendor  = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VENDOR);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_vendor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `server_version`
[INFO] [stderr]    --> src/display/x11.rs:422:17
[INFO] [stderr]     |
[INFO] [stderr] 422 |             let server_version = glx::glXQueryServerString(x_dpy, screen_num, xx::GLX_VERSION);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_version`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `resizable`
[INFO] [stderr]    --> src/display/x11.rs:458:23
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stderr]     |                       ^^^^^^^^^ help: try ignoring the field: `resizable: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fully_opaque`
[INFO] [stderr]    --> src/display/x11.rs:458:34
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stderr]     |                                  ^^^^^^^^^^^^ help: try ignoring the field: `fully_opaque: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opengl`
[INFO] [stderr]    --> src/display/x11.rs:458:48
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stderr]     |                                                ^^^^^^ help: try ignoring the field: `opengl: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `allow_high_dpi`
[INFO] [stderr]    --> src/display/x11.rs:458:56
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 mode, resizable, fully_opaque, opengl, allow_high_dpi
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^ help: try ignoring the field: `allow_high_dpi: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `version`
[INFO] [stderr]    --> src/display/x11.rs:762:13
[INFO] [stderr]     |
[INFO] [stderr] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stderr]     |             ^^^^^^^ help: try ignoring the field: `version: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `debug`
[INFO] [stderr]    --> src/display/x11.rs:762:22
[INFO] [stderr]     |
[INFO] [stderr] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stderr]     |                      ^^^^^ help: try ignoring the field: `debug: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `forward_compatible`
[INFO] [stderr]    --> src/display/x11.rs:762:29
[INFO] [stderr]     |
[INFO] [stderr] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `forward_compatible: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `profile`
[INFO] [stderr]    --> src/display/x11.rs:762:49
[INFO] [stderr]     |
[INFO] [stderr] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stderr]     |                                                 ^^^^^^^ help: try ignoring the field: `profile: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msaa`
[INFO] [stderr]    --> src/display/x11.rs:762:58
[INFO] [stderr]     |
[INFO] [stderr] 762 |             version, debug, forward_compatible, profile, msaa, ..
[INFO] [stderr]     |                                                          ^^^^ help: try ignoring the field: `msaa: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `best_fbc`
[INFO] [stderr]    --> src/display/x11.rs:775:13
[INFO] [stderr]     |
[INFO] [stderr] 775 |         let best_fbc: glx::GLXFBConfig = unimplemented!(); // FIXME
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_fbc`
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/display/mod.rs:830:5
[INFO] [stderr]     |
[INFO] [stderr] 830 |     fn default() -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] ...
[INFO] [stderr] 834 |             .. Default::default()
[INFO] [stderr]     |                ------------------ recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `gen_fbconfig_attribs` is never used
[INFO] [stderr]    --> src/display/x11.rs:690:8
[INFO] [stderr]     |
[INFO] [stderr] 643 | impl Display {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 690 |     fn gen_fbconfig_attribs(settings: &GLContextSettings) -> [c_int; 37] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GLX_EXTENSIONS` is never used
[INFO] [stderr]   --> src/display/x11.rs:72:15
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub const GLX_EXTENSIONS: i32 = 3;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/display/x11.rs:280:15
[INFO] [stderr]     |
[INFO] [stderr] 280 |               $(pub $func: Option<types::$func>,)+
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 | / glx_ext!((
[INFO] [stderr] 314 | |     GLX_ARB_multisample
[INFO] [stderr] 315 | |     GLX_EXT_swap_control
[INFO] [stderr] 316 | |     GLX_EXT_swap_control_tear
[INFO] [stderr] ...   |
[INFO] [stderr] 329 | |     glXCreateContextAttribsARB
[INFO] [stderr] 330 | | ));
[INFO] [stderr]     | |__- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `PartialEq` which comes from the expansion of the macro `glx_ext` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/display/x11.rs:335:5
[INFO] [stderr]     |
[INFO] [stderr] 332 | #[derive(Debug, Hash, PartialEq, Eq)]
[INFO] [stderr]     |                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 335 |     get_proc_address: types::glXGetProcAddress,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: the type `(i32, i32)` does not permit being left uninitialized
[INFO] [stderr]    --> src/display/x11.rs:394:52
[INFO] [stderr]     |
[INFO] [stderr] 394 |             let (mut error_base, mut event_base) = 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, i32)` does not permit being left uninitialized
[INFO] [stderr]    --> src/display/x11.rs:402:42
[INFO] [stderr]     |
[INFO] [stderr] 402 |             let (mut major, mut minor) = 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 `XWindowAttributes` does not permit being left uninitialized
[INFO] [stderr]    --> src/display/x11.rs:546:51
[INFO] [stderr]     |
[INFO] [stderr] 546 |             let mut attrs: x::XWindowAttributes = 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 `XTextProperty` does not permit being left uninitialized
[INFO] [stderr]    --> src/display/x11.rs:594:52
[INFO] [stderr]     |
[INFO] [stderr] 594 |             let mut title_prop: x::XTextProperty = 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: variable `glXCreateContextAttribsARB` should have a snake case name
[INFO] [stderr]    --> src/display/x11.rs:807:13
[INFO] [stderr]     |
[INFO] [stderr] 807 |         let glXCreateContextAttribsARB = glx.ext.glXCreateContextAttribsARB.unwrap();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gl_xcreate_context_attribs_arb`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `None` should have an upper case name
[INFO] [stderr]   --> src/display/x11.rs:68:15
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub const None: i32 = 0;
[INFO] [stderr]    |               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 68 -     pub const None: i32 = 0;
[INFO] [stderr] 68 +     pub const NONE: i32 = 0;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/display/mod.rs:424:53
[INFO] [stderr]     |
[INFO] [stderr] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window {
[INFO] [stderr]     |                                     --              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is named 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: consistently use `'b`
[INFO] [stderr]     |
[INFO] [stderr] 424 |         pub unsafe fn get_internal(&'b self) -> &'a backend::Window<'b> {
[INFO] [stderr]     |                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/display/mod.rs:431:67
[INFO] [stderr]     |
[INFO] [stderr] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window {
[INFO] [stderr]     |                                         ----                      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'dpy`
[INFO] [stderr]     |
[INFO] [stderr] 431 |         pub unsafe fn get_internal_mut(&'dpy mut self) -> &'a mut backend::Window<'dpy> {
[INFO] [stderr]     |                                                                                  ++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/game_input_device/mod.rs:947:52
[INFO] [stderr]     |
[INFO] [stderr] 947 |     pub fn upload_haptic_effect<E: haptic::Effect>(&mut self, _effect: E) 
[INFO] [stderr]     |                                                    ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 948 |         -> Result<haptic::UploadedEffect, haptic::Error>
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the same lifetime is hidden here
[INFO] [stderr]     |                   the same lifetime is hidden 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] 948 |         -> Result<haptic::UploadedEffect<'_>, haptic::Error>
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/game_input_device/mod.rs:1162:21
[INFO] [stderr]      |
[INFO] [stderr] 1162 |         pub fn play(&self) -> Result<PlayingEffect,()> {
[INFO] [stderr]      |                     ^^^^^            ^^^^^^^^^^^^^
[INFO] [stderr]      |                     |                |
[INFO] [stderr]      |                     |                the same lifetime is hidden here
[INFO] [stderr]      |                     |                the same lifetime is hidden here
[INFO] [stderr]      |                     |                the same lifetime is hidden here
[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] 1162 |         pub fn play(&self) -> Result<PlayingEffect<'_>,()> {
[INFO] [stderr]      |                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/event/mod.rs:123:18
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn start(&mut self) -> TextInputRecording { unimplemented!() }
[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] 123 |     pub fn start(&mut self) -> TextInputRecording<'_> { unimplemented!() }
[INFO] [stderr]     |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `dmc` (lib) generated 49 warnings (run `cargo fix --lib -p dmc` to apply 31 suggestions)
[INFO] [stderr] warning: `dmc` (lib test) generated 49 warnings (49 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dmc-e8dec1d6c3e62301)
[INFO] [stderr]    Doc-tests dmc
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/display/mod.rs - display (line 69) - compile ... ok
[INFO] [stdout] test src/display/mod.rs - display (line 47) - compile ... ok
[INFO] [stdout] test src/display/mod.rs - display (line 114) - compile ... FAILED
[INFO] [stdout] test src/display/mod.rs - display (line 98) - compile ... ok
[INFO] [stdout] test src/display/mod.rs - display (line 84) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/display/mod.rs - display (line 114) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/display/mod.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | use display::GLSwapInterval::*;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     unresolved import
[INFO] [stdout]     |     help: a similar path exists: `dmc::display`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `LateSwapTearing` in this scope
[INFO] [stdout]    --> src/display/mod.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 | if swap_chain.set_interval(LateSwapTearing).is_err() {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this unit variant
[INFO] [stdout]     |
[INFO] [stdout] 113 + use dmc::display::GLSwapInterval::LateSwapTearing;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VSync` in this scope
[INFO] [stdout]    --> src/display/mod.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |     if swap_chain.set_interval(VSync).is_err() {
[INFO] [stdout]     |                                ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this unit variant
[INFO] [stdout]     |
[INFO] [stdout] 113 + use dmc::display::GLSwapInterval::VSync;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `LimitFps` in this scope
[INFO] [stdout]    --> src/display/mod.rs:127:41
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = swap_chain.set_interval(LimitFps(60));
[INFO] [stdout]     |                                         ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 113 + use dmc::display::GLSwapInterval::LimitFps;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: unused label
[INFO] [stdout]    --> src/display/mod.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | 'main_event_loop: loop {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/display/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_labels)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/display/mod.rs - display (line 114)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "ed852873ba5ce0c4d2ca555eccc391e914fbd07da8b7b12dd6756d60688e4605", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed852873ba5ce0c4d2ca555eccc391e914fbd07da8b7b12dd6756d60688e4605", kill_on_drop: false }`
[INFO] [stdout] ed852873ba5ce0c4d2ca555eccc391e914fbd07da8b7b12dd6756d60688e4605
