[INFO] fetching crate smithay 0.3.0... [INFO] checking smithay-0.3.0 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate smithay 0.3.0 into /workspace/builds/worker-0-tc1/source [INFO] validating manifest of crates.io crate smithay 0.3.0 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate smithay 0.3.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate smithay 0.3.0 [INFO] tweaked toml for crates.io crate smithay 0.3.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate crates.io crate smithay 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded xkbcommon v0.4.0 [INFO] [stderr] Downloaded num_enum_derive v0.5.2 [INFO] [stderr] Downloaded num_enum v0.5.2 [INFO] [stderr] Downloaded appendlist v1.4.0 [INFO] [stderr] Downloaded wayland-sys v0.29.0 [INFO] [stderr] Downloaded libseat v0.1.3 [INFO] [stderr] Downloaded drm-fourcc v2.1.1 [INFO] [stderr] Downloaded udev v0.6.2 [INFO] [stderr] Downloaded calloop v0.9.0 [INFO] [stderr] Downloaded drm-sys v0.1.1 [INFO] [stderr] Downloaded arc-swap v1.3.0 [INFO] [stderr] Downloaded wayland-client v0.29.0 [INFO] [stderr] Downloaded dbus v0.9.3 [INFO] [stderr] Downloaded drm v0.5.0 [INFO] [stderr] Downloaded wayland-protocols v0.29.0 [INFO] [stderr] Downloaded input v0.6.0 [INFO] [stderr] Downloaded wayland-server v0.29.0 [INFO] [stderr] Downloaded nix v0.21.0 [INFO] [stderr] Downloaded slog-stdlog v4.1.0 [INFO] [stderr] Downloaded gbm-sys v0.2.0 [INFO] [stderr] Downloaded gbm v0.7.0 [INFO] [stderr] Downloaded wayland-scanner v0.29.0 [INFO] [stderr] Downloaded drm-ffi v0.2.0 [INFO] [stderr] Downloaded libseat-sys v0.1.1 [INFO] [stderr] Downloaded wayland-egl v0.29.0 [INFO] [stderr] Downloaded wayland-commons v0.29.0 [INFO] [stderr] Downloaded input-sys v1.15.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9bf9baccbd55ae231a9fce24c6c8f53de2d9f5936cb480c02339716a78abacef [INFO] running `Command { std: "docker" "start" "-a" "9bf9baccbd55ae231a9fce24c6c8f53de2d9f5936cb480c02339716a78abacef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9bf9baccbd55ae231a9fce24c6c8f53de2d9f5936cb480c02339716a78abacef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9bf9baccbd55ae231a9fce24c6c8f53de2d9f5936cb480c02339716a78abacef", kill_on_drop: false }` [INFO] [stdout] 9bf9baccbd55ae231a9fce24c6c8f53de2d9f5936cb480c02339716a78abacef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7c0604516dbf0ba9b694c88c047262b2b95e211e3a12e6880e483ec574268b96 [INFO] running `Command { std: "docker" "start" "-a" "7c0604516dbf0ba9b694c88c047262b2b95e211e3a12e6880e483ec574268b96", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Checking libloading v0.7.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Checking instant v0.1.10 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Checking dlib v0.5.0 [INFO] [stderr] Compiling drm-sys v0.1.1 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking ttf-parser v0.6.2 [INFO] [stderr] Compiling crossbeam-queue v0.3.2 [INFO] [stderr] Checking lock_api v0.4.4 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling nom v6.2.1 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling drm-fourcc v2.1.1 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking libloading v0.6.7 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling wayland-sys v0.29.0 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling libdbus-sys v0.2.1 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling input-sys v1.15.1 [INFO] [stderr] Compiling gbm-sys v0.2.0 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Compiling wayland-scanner v0.29.0 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Checking crossbeam v0.8.1 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling cgmath v0.18.0 [INFO] [stderr] Checking owned_ttf_parser v0.6.0 [INFO] [stderr] Checking arc-swap v1.3.0 [INFO] [stderr] Compiling winit v0.25.0 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking thread_local v1.1.3 [INFO] [stderr] Checking rusttype v0.9.2 [INFO] [stderr] Checking appendlist v1.4.0 [INFO] [stderr] Checking scan_fmt v0.2.6 [INFO] [stderr] Checking slog-scope v4.4.0 [INFO] [stderr] Checking slog-stdlog v4.1.0 [INFO] [stderr] Checking approx v0.4.0 [INFO] [stderr] Checking num-integer v0.1.44 [INFO] [stderr] Checking andrew v0.3.1 [INFO] [stderr] Checking nix v0.22.0 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking memmap2 v0.1.0 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Compiling smithay v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking udev v0.6.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Compiling wayland-server v0.29.0 [INFO] [stderr] Compiling wayland-client v0.29.0 [INFO] [stderr] Compiling wayland-protocols v0.29.0 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking nix v0.21.0 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking input v0.6.0 [INFO] [stderr] Checking mio-misc v1.2.1 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Checking xcursor v0.3.3 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking xkbcommon v0.4.0 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking dbus v0.9.3 [INFO] [stderr] Checking slog-term v2.8.0 [INFO] [stderr] Checking calloop v0.6.5 [INFO] [stderr] Checking wayland-commons v0.28.6 [INFO] [stderr] Checking calloop v0.9.0 [INFO] [stderr] Checking wayland-commons v0.29.0 [INFO] [stderr] Checking drm-ffi v0.2.0 [INFO] [stderr] Checking drm v0.5.0 [INFO] [stderr] Checking gbm v0.7.0 [INFO] [stderr] Checking wayland-cursor v0.28.6 [INFO] [stderr] Compiling thiserror-impl v1.0.26 [INFO] [stderr] Checking wayland-egl v0.29.0 [INFO] [stderr] Checking thiserror v1.0.26 [INFO] [stderr] Checking smithay-client-toolkit v0.12.3 [INFO] [stdout] warning: unexpected `cfg` condition value: `backend_drm_eglstream` [INFO] [stdout] --> src/backend/egl/error.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "backend_drm_eglstream")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `backend_drm`, `backend_egl`, `backend_gbm`, `backend_libinput`, `backend_session`, `backend_session_elogind`, `backend_session_libseat`, `backend_session_logind`, `backend_udev`, `backend_winit`, `dbus`, `default`, `drm`, `drm-ffi`, `gbm`, `gl_generator`, `input`, `libseat`, `pkg-config`, `renderer_gl`, `slog-stdlog`, `tempfile`, `test_all_features`, `udev`, `use_system_lib`, `wayland-commons`, `wayland-egl`, `wayland-protocols`, `wayland-server`, `wayland-sys`, `wayland_frontend`, `winit`, and `xwayland` [INFO] [stdout] = help: consider adding `backend_drm_eglstream` as a feature in `Cargo.toml` [INFO] [stdout] = note: see 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: `backend_drm_eglstream` [INFO] [stdout] --> src/backend/egl/error.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | #[cfg(feature = "backend_drm_eglstream")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `backend_drm`, `backend_egl`, `backend_gbm`, `backend_libinput`, `backend_session`, `backend_session_elogind`, `backend_session_libseat`, `backend_session_logind`, `backend_udev`, `backend_winit`, `dbus`, `default`, `drm`, `drm-ffi`, `gbm`, `gl_generator`, `input`, `libseat`, `pkg-config`, `renderer_gl`, `slog-stdlog`, `tempfile`, `test_all_features`, `udev`, `use_system_lib`, `wayland-commons`, `wayland-egl`, `wayland-protocols`, `wayland-server`, `wayland-sys`, `wayland_frontend`, `winit`, and `xwayland` [INFO] [stdout] = help: consider adding `backend_drm_eglstream` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `backend_drm_eglstream` [INFO] [stdout] --> src/backend/egl/error.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "backend_drm_eglstream")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `backend_drm`, `backend_egl`, `backend_gbm`, `backend_libinput`, `backend_session`, `backend_session_elogind`, `backend_session_libseat`, `backend_session_logind`, `backend_udev`, `backend_winit`, `dbus`, `default`, `drm`, `drm-ffi`, `gbm`, `gl_generator`, `input`, `libseat`, `pkg-config`, `renderer_gl`, `slog-stdlog`, `tempfile`, `test_all_features`, `udev`, `use_system_lib`, `wayland-commons`, `wayland-egl`, `wayland-protocols`, `wayland-server`, `wayland-sys`, `wayland_frontend`, `winit`, and `xwayland` [INFO] [stdout] = help: consider adding `backend_drm_eglstream` as a feature in `Cargo.toml` [INFO] [stdout] = note: see 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: `backend_drm_eglstream` [INFO] [stdout] --> src/backend/egl/error.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | #[cfg(feature = "backend_drm_eglstream")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `backend_drm`, `backend_egl`, `backend_gbm`, `backend_libinput`, `backend_session`, `backend_session_elogind`, `backend_session_libseat`, `backend_session_logind`, `backend_udev`, `backend_winit`, `dbus`, `default`, `drm`, `drm-ffi`, `gbm`, `gl_generator`, `input`, `libseat`, `pkg-config`, `renderer_gl`, `slog-stdlog`, `tempfile`, `test_all_features`, `udev`, `use_system_lib`, `wayland-commons`, `wayland-egl`, `wayland-protocols`, `wayland-server`, `wayland-sys`, `wayland_frontend`, `winit`, and `xwayland` [INFO] [stdout] = help: consider adding `backend_drm_eglstream` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 138 | egl_platform!(PLATFORM_GBM_KHR, self.as_raw(), &["EGL_KHR_platform_gbm"]), [INFO] [stdout] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 140 | egl_platform!(PLATFORM_GBM_MESA, self.as_raw(), &["EGL_MESA_platform_gbm"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 151 | egl_platform!(PLATFORM_WAYLAND_KHR, display, &["EGL_KHR_platform_wayland"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 153 | egl_platform!(PLATFORM_WAYLAND_EXT, display, &["EGL_EXT_platform_wayland"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 158 | egl_platform!(PLATFORM_X11_KHR, display, &["EGL_KHR_platform_x11"]), [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 160 | egl_platform!(PLATFORM_X11_EXT, display, &["EGL_EXT_platform_x11"]), [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 138 | egl_platform!(PLATFORM_GBM_KHR, self.as_raw(), &["EGL_KHR_platform_gbm"]), [INFO] [stdout] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 140 | egl_platform!(PLATFORM_GBM_MESA, self.as_raw(), &["EGL_MESA_platform_gbm"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 151 | egl_platform!(PLATFORM_WAYLAND_KHR, display, &["EGL_KHR_platform_wayland"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 153 | egl_platform!(PLATFORM_WAYLAND_EXT, display, &["EGL_EXT_platform_wayland"]), [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 158 | egl_platform!(PLATFORM_X11_KHR, display, &["EGL_KHR_platform_x11"]), [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/backend/egl/native.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | ); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 160 | egl_platform!(PLATFORM_X11_EXT, display, &["EGL_EXT_platform_x11"]), [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: macro invocations at the end of a block are treated as expressions [INFO] [stdout] = note: to ignore the value produced by the macro, add a semicolon after the invocation of `egl_platform` [INFO] [stdout] = note: this warning originates in the macro `egl_platform` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/backend/allocator/swapchain.rs:130:21 [INFO] [stdout] | [INFO] [stdout] 130 | let mut free_slot = [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/backend/allocator/swapchain.rs:130:21 [INFO] [stdout] | [INFO] [stdout] 130 | let mut free_slot = [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/backend/session/direct.rs:221:21 [INFO] [stdout] | [INFO] [stdout] 221 | Err(err) => { [INFO] [stdout] | ^^^^^^^^ matches no values because `Infallible` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/backend/session/direct.rs:221:21 [INFO] [stdout] | [INFO] [stdout] 221 | Err(err) => { [INFO] [stdout] | ^^^^^^^^ matches no values because `Infallible` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferEntry` is never constructed [INFO] [stdout] --> src/backend/renderer/gles2/mod.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | struct BufferEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display` is never read [INFO] [stdout] --> src/backend/winit.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct WinitGraphicsBackend { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 92 | renderer: Gles2Renderer, [INFO] [stdout] 93 | display: EGLDisplay, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WinitGraphicsBackend` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Marker` is never constructed [INFO] [stdout] --> src/wayland/compositor/mod.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Marker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Marker` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `log` is never read [INFO] [stdout] --> src/wayland/output/xdg.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct Inner { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | log: ::slog::Logger, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/wayland/tablet_manager/tablet_seat.rs:154:39 [INFO] [stdout] | [INFO] [stdout] 154 | tool.new_instance(seat.deref(), tool_desc, move |desc, status| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `ZwpTabletSeatV2` does not implement `Deref`, so calling `deref` on `&ZwpTabletSeatV2` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 154 - tool.new_instance(seat.deref(), tool_desc, move |desc, status| { [INFO] [stdout] 154 + tool.new_instance(seat, tool_desc, move |desc, status| { [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `ZwpTabletSeatV2`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/target/debug/build/wayland-protocols-bd736d43165c60b7/out/tablet-v2_server_api.rs:1:14034 [INFO] [stdout] | [INFO] [stdout] 1 | use std :: os :: raw :: { c_char , c_void } ; const NULLPTR : * const c_void = 0 as * const c_void ; static mut types_null : [* const sys :: common :: wl_interface ; 3] = [NULLPTR as * const sys :: common :: wl_interface , NULLPTR as * const sys :: common :: wl_interface , NULLPTR as * const sys :: common :: wl_interface ,] ; # [doc = "controller object for graphic tablet devices\n\nAn object that provides access to the graphics tablets available on this\nsystem. All tablets are associated with a seat, to get access to the\nactual tablets, use wp_tablet_manager.get_tablet_seat."] pub mod zwp_tablet_manager_v2 { use std :: os :: raw :: c_char ; use super :: { Resource , AnonymousObject , Interface , MessageGroup , MessageDesc , Main , smallvec , ArgumentType , Object , Message , Argument , ObjectMetadata , types_null , NULLPTR } ; use super :: sys :: common :: { wl_argument , wl_interface , wl_array , wl_message } ; use super :: sys :: server :: * ; # [derive (Debug)] # [non_exhaustive] pub enum Request { # [doc = "get the tablet seat\n\nGet the wp_tablet_seat object for the given seat. This object\nprovides access to all graphics tablets in this seat."] GetTabletSeat { tablet_seat : Main < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > , seat : super :: wl_seat :: WlSeat , } , # [doc = "release the memory for the tablet manager object\n\nDestroy the wp_tablet_manager object. Objects created from this\nobject are unaffected and should be destroyed separately.\n\nThis is a destructor, once received this object cannot be used any longer."] Destroy , } impl super :: MessageGroup for Request { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "get_tablet_seat" , since : 1 , signature : & [super :: ArgumentType :: NewId , super :: ArgumentType :: Object ,] , destructor : false , } , super :: MessageDesc { name : "destroy" , since : 1 , signature : & [] , destructor : true , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { Request :: Destroy => true , _ => false , } } fn opcode (& self) -> u16 { match * self { Request :: GetTabletSeat { .. } => 0 , Request :: Destroy => 1 , } } fn since (& self) -> u32 { match * self { Request :: GetTabletSeat { .. } => 1 , Request :: Destroy => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { 0 => Some (Object :: from_interface :: < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > (version , meta . child () ,)) , _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { match msg . opcode { 0 => { let mut args = msg . args . into_iter () ; Ok (Request :: GetTabletSeat { tablet_seat : { if let Some (Argument :: NewId (val)) = args . next () { map . get_new (val) . ok_or (()) ? } else { return Err (()) ; } } , seat : { if let Some (Argument :: Object (val)) = args . next () { map . get (val) . ok_or (()) ? . into () } else { return Err (()) ; } } , }) } , 1 => Ok (Request :: Destroy) , _ => Err (()) , } } fn into_raw (self , sender_id : u32) -> Message { panic ! ("Request::into_raw can not be used Server-side.") } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Request , () > { match opcode { 0 => { let _args = :: std :: slice :: from_raw_parts (args , 2) ; Ok (Request :: GetTabletSeat { tablet_seat : { let me = Resource :: < ZwpTabletManagerV2 > :: from_c_ptr (obj as * mut _) ; me . make_child_for :: < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > (_args [0] . n) . unwrap () } , seat : Resource :: < super :: wl_seat :: WlSeat > :: from_c_ptr (_args [1] . o as * mut _ ,) . into () , }) } , 1 => { Ok (Request :: Destroy) } , _ => return Err (()) , } } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { panic ! ("Request::as_raw_c_in can not be used Server-side.") } } # [derive (Debug)] # [non_exhaustive] pub enum Event { } impl super :: MessageGroup for Event { const MESSAGES : & 'static [super :: MessageDesc] = & [] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { } } fn opcode (& self) -> u16 { match * self { } } fn since (& self) -> u32 { match * self { } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { panic ! ("Event::from_raw can not be used Server-side.") } fn into_raw (self , sender_id : u32) -> Message { match self { } } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Event , () > { panic ! ("Event::from_raw_c can not be used Server-side.") } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { match self { } } } # [derive (Clone , Eq , PartialEq)] pub struct ZwpTabletManagerV2 (Resource < ZwpTabletManagerV2 >) ; impl AsRef < Resource < ZwpTabletManagerV2 >> for ZwpTabletManagerV2 { # [inline] fn as_ref (& self) -> & Resource < Self > { & self . 0 } } impl From < Resource < ZwpTabletManagerV2 >> for ZwpTabletManagerV2 { # [inline] fn from (value : Resource < Self >) -> Self { ZwpTabletManagerV2 (value) } } impl From < ZwpTabletManagerV2 > for Resource < ZwpTabletManagerV2 > { # [inline] fn from (value : ZwpTabletManagerV2) -> Self { value . 0 } } impl std :: fmt :: Debug for ZwpTabletManagerV2 { fn fmt (& self , f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: Result { f . write_fmt (format_args ! ("{:?}" , self . 0)) } } impl Interface for ZwpTabletManagerV2 { type Request = Request ; type Event = Event ; const NAME : & 'static str = "zwp_tablet_manager_v2" ; const VERSION : u32 = 1 ; fn c_interface () -> * const wl_interface { unsafe { & zwp_tablet_manager_v2_interface } } } impl ZwpTabletManagerV2 { } # [doc = r" The minimal object version supporting this request"] pub const REQ_GET_TABLET_SEAT_SINCE : u32 = 1u32 ; # [doc = r" The minimal object version supporting this request"] pub const REQ_DESTROY_SINCE : u32 = 1u32 ; static mut zwp_tablet_manager_v2_requests_get_tablet_seat_types : [* const wl_interface ; 2] = [unsafe { & super :: zwp_tablet_seat_v2 :: zwp_tablet_seat_v2_interface as * const wl_interface } , unsafe { & super :: wl_seat :: wl_seat_interface as * const wl_interface } ,] ; # [doc = r" C-representation of the messages of this interface, for interop"] pub static mut zwp_tablet_manager_v2_requests : [wl_message ; 2] = [wl_message { name : b"get_tablet_seat\0" as * const u8 as * const c_char , signature : b"no\0" as * const u8 as * const c_char , types : unsafe { & zwp_tablet_manager_v2_requests_get_tablet_seat_types as * const _ } , } , wl_message { name : b"destroy\0" as * const u8 as * const c_char , signature : b"\0" as * const u8 as * const c_char , types : unsafe { & types_null as * const _ } , } ,] ; # [doc = r" C representation of this interface, for interop"] pub static mut zwp_tablet_manager_v2_interface : wl_interface = wl_interface { name : b"zwp_tablet_manager_v2\0" as * const u8 as * const c_char , version : 1 , request_count : 2 , requests : unsafe { & zwp_tablet_manager_v2_requests as * const _ } , event_count : 0 , events : NULLPTR as * const wl_message , } ; } # [doc = "controller object for graphic tablet devices of a seat\n\nAn object that provides access to the graphics tablets available on this\nseat. After binding to this interface, the compositor sends a set of\nwp_tablet_seat.tablet_added and wp_tablet_seat.tool_added events."] pub mod zwp_tablet_seat_v2 { use std :: os :: raw :: c_char ; use super :: { Resource , AnonymousObject , Interface , MessageGroup , MessageDesc , Main , smallvec , ArgumentType , Object , Message , Argument , ObjectMetadata , types_null , NULLPTR } ; use super :: sys :: common :: { wl_argument , wl_interface , wl_array , wl_message } ; use super :: sys :: server :: * ; # [derive (Debug)] # [non_exhaustive] pub enum Request { # [doc = "release the memory for the tablet seat object\n\nDestroy the wp_tablet_seat object. Objects created from this\nobject are unaffected and should be destroyed separately.\n\nThis is a destructor, once received this object cannot be used any longer."] Destroy , } impl super :: MessageGroup for Request { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "destroy" , since : 1 , signature : & [] , destructor : true , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { Request :: Destroy => true , } } fn opcode (& self) -> u16 { match * self { Request :: Destroy => 0 , } } fn since (& self) -> u32 { match * self { Request :: Destroy => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { match msg . opcode { 0 => Ok (Request :: Destroy) , _ => Err (()) , } } fn into_raw (self , sender_id : u32) -> Message { panic ! ("Request::into_raw can not be used Server-side.") } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Request , () > { match opcode { 0 => { Ok (Request :: Destroy) } , _ => return Err (()) , } } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { panic ! ("Request::as_raw_c_in can not be used Server-side.") } } # [derive (Debug)] # [non_exhaustive] pub enum Event { # [doc = "new device notification\n\nThis event is sent whenever a new tablet becomes available on this\nseat. This event only provides the object id of the tablet, any\nstatic information about the tablet (device name, vid/pid, etc.) is\nsent through the wp_tablet interface."] TabletAdded { id : Resource < super :: zwp_tablet_v2 :: ZwpTabletV2 > , } , # [doc = "a new tool has been used with a tablet\n\nThis event is sent whenever a tool that has not previously been used\nwith a tablet comes into use. This event only provides the object id\nof the tool; any static information about the tool (capabilities,\ntype, etc.) is sent through the wp_tablet_tool interface."] ToolAdded { id : Resource < super :: zwp_tablet_tool_v2 :: ZwpTabletToolV2 > , } , # [doc = "new pad notification\n\nThis event is sent whenever a new pad is known to the system. Typically,\npads are physically attached to tablets and a pad_added event is\nsent immediately after the wp_tablet_seat.tablet_added.\nHowever, some standalone pad devices logically attach to tablets at\nruntime, and the client must wait for wp_tablet_pad.enter to know\nthe tablet a pad is attached to.\n\nThis event only provides the object id of the pad. All further\nfeatures (buttons, strips, rings) are sent through the wp_tablet_pad\ninterface."] PadAdded { id : Resource < super :: zwp_tablet_pad_v2 :: ZwpTabletPadV2 > , } , } impl super :: MessageGroup for Event { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "tablet_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } , super :: MessageDesc { name : "tool_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } , super :: MessageDesc { name : "pad_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { _ => false , } } fn opcode (& self) -> u16 { match * self { Event :: TabletAdded { .. } => 0 , Event :: ToolAdded { .. } => 1 , Event :: PadAdded { .. } => 2 , } } fn since (& self) -> u32 { match * self { Event :: TabletAdded { .. } => 1 , Event :: ToolAdded { .. } => 1 , Event :: PadAdded { .. } => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { 0 => Some (Object :: from_interface :: < super :: zwp_tablet_v2 :: ZwpTabletV2 > (version , meta . child () ,)) , 1 => Some (Object :: from_interface :: < super :: zwp_tablet_tool_v2 :: ZwpTabletToolV2 > (version , meta . child () ,)) , 2 => Some (Object :: from_interface :: < super :: zwp_tablet_pad_v2 :: ZwpTabletPadV2 > (version , meta . child () ,)) , _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { panic ! ("Event::from_raw can not be used Server-side.") } fn into_raw (self , sender_id : u32) -> Message { match self { Event :: TabletAdded { id } => Message { sender_id : sender_id , opcode : 0 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , Event :: ToolAdded { id } => Message { sender_id : sender_id , opcode : 1 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , Event :: PadAdded { id } => Message { sender_id : sender_id , opcode : 2 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , } } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Event , () > { panic ! ("Event::from_raw_c can not be used Server-side.") } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { match self { Event :: TabletAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (0 , & mut _args_array) } , Event :: ToolAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (1 , & mut _args_array) } , Event :: PadAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (2 , & mut _args_array) } , } } } # [derive (Clone , Eq , PartialEq)] #[derive(Clone)] [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferEntry` is never constructed [INFO] [stdout] --> src/backend/renderer/gles2/mod.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | struct BufferEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display` is never read [INFO] [stdout] --> src/backend/winit.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct WinitGraphicsBackend { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 92 | renderer: Gles2Renderer, [INFO] [stdout] 93 | display: EGLDisplay, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WinitGraphicsBackend` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Marker` is never constructed [INFO] [stdout] --> src/wayland/compositor/mod.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Marker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Marker` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `log` is never read [INFO] [stdout] --> src/wayland/output/xdg.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct Inner { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | log: ::slog::Logger, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/wayland/tablet_manager/tablet_seat.rs:154:39 [INFO] [stdout] | [INFO] [stdout] 154 | tool.new_instance(seat.deref(), tool_desc, move |desc, status| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `ZwpTabletSeatV2` does not implement `Deref`, so calling `deref` on `&ZwpTabletSeatV2` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 154 - tool.new_instance(seat.deref(), tool_desc, move |desc, status| { [INFO] [stdout] 154 + tool.new_instance(seat, tool_desc, move |desc, status| { [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `ZwpTabletSeatV2`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/target/debug/build/wayland-protocols-bd736d43165c60b7/out/tablet-v2_server_api.rs:1:14034 [INFO] [stdout] | [INFO] [stdout] 1 | use std :: os :: raw :: { c_char , c_void } ; const NULLPTR : * const c_void = 0 as * const c_void ; static mut types_null : [* const sys :: common :: wl_interface ; 3] = [NULLPTR as * const sys :: common :: wl_interface , NULLPTR as * const sys :: common :: wl_interface , NULLPTR as * const sys :: common :: wl_interface ,] ; # [doc = "controller object for graphic tablet devices\n\nAn object that provides access to the graphics tablets available on this\nsystem. All tablets are associated with a seat, to get access to the\nactual tablets, use wp_tablet_manager.get_tablet_seat."] pub mod zwp_tablet_manager_v2 { use std :: os :: raw :: c_char ; use super :: { Resource , AnonymousObject , Interface , MessageGroup , MessageDesc , Main , smallvec , ArgumentType , Object , Message , Argument , ObjectMetadata , types_null , NULLPTR } ; use super :: sys :: common :: { wl_argument , wl_interface , wl_array , wl_message } ; use super :: sys :: server :: * ; # [derive (Debug)] # [non_exhaustive] pub enum Request { # [doc = "get the tablet seat\n\nGet the wp_tablet_seat object for the given seat. This object\nprovides access to all graphics tablets in this seat."] GetTabletSeat { tablet_seat : Main < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > , seat : super :: wl_seat :: WlSeat , } , # [doc = "release the memory for the tablet manager object\n\nDestroy the wp_tablet_manager object. Objects created from this\nobject are unaffected and should be destroyed separately.\n\nThis is a destructor, once received this object cannot be used any longer."] Destroy , } impl super :: MessageGroup for Request { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "get_tablet_seat" , since : 1 , signature : & [super :: ArgumentType :: NewId , super :: ArgumentType :: Object ,] , destructor : false , } , super :: MessageDesc { name : "destroy" , since : 1 , signature : & [] , destructor : true , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { Request :: Destroy => true , _ => false , } } fn opcode (& self) -> u16 { match * self { Request :: GetTabletSeat { .. } => 0 , Request :: Destroy => 1 , } } fn since (& self) -> u32 { match * self { Request :: GetTabletSeat { .. } => 1 , Request :: Destroy => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { 0 => Some (Object :: from_interface :: < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > (version , meta . child () ,)) , _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { match msg . opcode { 0 => { let mut args = msg . args . into_iter () ; Ok (Request :: GetTabletSeat { tablet_seat : { if let Some (Argument :: NewId (val)) = args . next () { map . get_new (val) . ok_or (()) ? } else { return Err (()) ; } } , seat : { if let Some (Argument :: Object (val)) = args . next () { map . get (val) . ok_or (()) ? . into () } else { return Err (()) ; } } , }) } , 1 => Ok (Request :: Destroy) , _ => Err (()) , } } fn into_raw (self , sender_id : u32) -> Message { panic ! ("Request::into_raw can not be used Server-side.") } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Request , () > { match opcode { 0 => { let _args = :: std :: slice :: from_raw_parts (args , 2) ; Ok (Request :: GetTabletSeat { tablet_seat : { let me = Resource :: < ZwpTabletManagerV2 > :: from_c_ptr (obj as * mut _) ; me . make_child_for :: < super :: zwp_tablet_seat_v2 :: ZwpTabletSeatV2 > (_args [0] . n) . unwrap () } , seat : Resource :: < super :: wl_seat :: WlSeat > :: from_c_ptr (_args [1] . o as * mut _ ,) . into () , }) } , 1 => { Ok (Request :: Destroy) } , _ => return Err (()) , } } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { panic ! ("Request::as_raw_c_in can not be used Server-side.") } } # [derive (Debug)] # [non_exhaustive] pub enum Event { } impl super :: MessageGroup for Event { const MESSAGES : & 'static [super :: MessageDesc] = & [] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { } } fn opcode (& self) -> u16 { match * self { } } fn since (& self) -> u32 { match * self { } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { panic ! ("Event::from_raw can not be used Server-side.") } fn into_raw (self , sender_id : u32) -> Message { match self { } } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Event , () > { panic ! ("Event::from_raw_c can not be used Server-side.") } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { match self { } } } # [derive (Clone , Eq , PartialEq)] pub struct ZwpTabletManagerV2 (Resource < ZwpTabletManagerV2 >) ; impl AsRef < Resource < ZwpTabletManagerV2 >> for ZwpTabletManagerV2 { # [inline] fn as_ref (& self) -> & Resource < Self > { & self . 0 } } impl From < Resource < ZwpTabletManagerV2 >> for ZwpTabletManagerV2 { # [inline] fn from (value : Resource < Self >) -> Self { ZwpTabletManagerV2 (value) } } impl From < ZwpTabletManagerV2 > for Resource < ZwpTabletManagerV2 > { # [inline] fn from (value : ZwpTabletManagerV2) -> Self { value . 0 } } impl std :: fmt :: Debug for ZwpTabletManagerV2 { fn fmt (& self , f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: Result { f . write_fmt (format_args ! ("{:?}" , self . 0)) } } impl Interface for ZwpTabletManagerV2 { type Request = Request ; type Event = Event ; const NAME : & 'static str = "zwp_tablet_manager_v2" ; const VERSION : u32 = 1 ; fn c_interface () -> * const wl_interface { unsafe { & zwp_tablet_manager_v2_interface } } } impl ZwpTabletManagerV2 { } # [doc = r" The minimal object version supporting this request"] pub const REQ_GET_TABLET_SEAT_SINCE : u32 = 1u32 ; # [doc = r" The minimal object version supporting this request"] pub const REQ_DESTROY_SINCE : u32 = 1u32 ; static mut zwp_tablet_manager_v2_requests_get_tablet_seat_types : [* const wl_interface ; 2] = [unsafe { & super :: zwp_tablet_seat_v2 :: zwp_tablet_seat_v2_interface as * const wl_interface } , unsafe { & super :: wl_seat :: wl_seat_interface as * const wl_interface } ,] ; # [doc = r" C-representation of the messages of this interface, for interop"] pub static mut zwp_tablet_manager_v2_requests : [wl_message ; 2] = [wl_message { name : b"get_tablet_seat\0" as * const u8 as * const c_char , signature : b"no\0" as * const u8 as * const c_char , types : unsafe { & zwp_tablet_manager_v2_requests_get_tablet_seat_types as * const _ } , } , wl_message { name : b"destroy\0" as * const u8 as * const c_char , signature : b"\0" as * const u8 as * const c_char , types : unsafe { & types_null as * const _ } , } ,] ; # [doc = r" C representation of this interface, for interop"] pub static mut zwp_tablet_manager_v2_interface : wl_interface = wl_interface { name : b"zwp_tablet_manager_v2\0" as * const u8 as * const c_char , version : 1 , request_count : 2 , requests : unsafe { & zwp_tablet_manager_v2_requests as * const _ } , event_count : 0 , events : NULLPTR as * const wl_message , } ; } # [doc = "controller object for graphic tablet devices of a seat\n\nAn object that provides access to the graphics tablets available on this\nseat. After binding to this interface, the compositor sends a set of\nwp_tablet_seat.tablet_added and wp_tablet_seat.tool_added events."] pub mod zwp_tablet_seat_v2 { use std :: os :: raw :: c_char ; use super :: { Resource , AnonymousObject , Interface , MessageGroup , MessageDesc , Main , smallvec , ArgumentType , Object , Message , Argument , ObjectMetadata , types_null , NULLPTR } ; use super :: sys :: common :: { wl_argument , wl_interface , wl_array , wl_message } ; use super :: sys :: server :: * ; # [derive (Debug)] # [non_exhaustive] pub enum Request { # [doc = "release the memory for the tablet seat object\n\nDestroy the wp_tablet_seat object. Objects created from this\nobject are unaffected and should be destroyed separately.\n\nThis is a destructor, once received this object cannot be used any longer."] Destroy , } impl super :: MessageGroup for Request { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "destroy" , since : 1 , signature : & [] , destructor : true , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { Request :: Destroy => true , } } fn opcode (& self) -> u16 { match * self { Request :: Destroy => 0 , } } fn since (& self) -> u32 { match * self { Request :: Destroy => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { match msg . opcode { 0 => Ok (Request :: Destroy) , _ => Err (()) , } } fn into_raw (self , sender_id : u32) -> Message { panic ! ("Request::into_raw can not be used Server-side.") } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Request , () > { match opcode { 0 => { Ok (Request :: Destroy) } , _ => return Err (()) , } } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { panic ! ("Request::as_raw_c_in can not be used Server-side.") } } # [derive (Debug)] # [non_exhaustive] pub enum Event { # [doc = "new device notification\n\nThis event is sent whenever a new tablet becomes available on this\nseat. This event only provides the object id of the tablet, any\nstatic information about the tablet (device name, vid/pid, etc.) is\nsent through the wp_tablet interface."] TabletAdded { id : Resource < super :: zwp_tablet_v2 :: ZwpTabletV2 > , } , # [doc = "a new tool has been used with a tablet\n\nThis event is sent whenever a tool that has not previously been used\nwith a tablet comes into use. This event only provides the object id\nof the tool; any static information about the tool (capabilities,\ntype, etc.) is sent through the wp_tablet_tool interface."] ToolAdded { id : Resource < super :: zwp_tablet_tool_v2 :: ZwpTabletToolV2 > , } , # [doc = "new pad notification\n\nThis event is sent whenever a new pad is known to the system. Typically,\npads are physically attached to tablets and a pad_added event is\nsent immediately after the wp_tablet_seat.tablet_added.\nHowever, some standalone pad devices logically attach to tablets at\nruntime, and the client must wait for wp_tablet_pad.enter to know\nthe tablet a pad is attached to.\n\nThis event only provides the object id of the pad. All further\nfeatures (buttons, strips, rings) are sent through the wp_tablet_pad\ninterface."] PadAdded { id : Resource < super :: zwp_tablet_pad_v2 :: ZwpTabletPadV2 > , } , } impl super :: MessageGroup for Event { const MESSAGES : & 'static [super :: MessageDesc] = & [super :: MessageDesc { name : "tablet_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } , super :: MessageDesc { name : "tool_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } , super :: MessageDesc { name : "pad_added" , since : 1 , signature : & [super :: ArgumentType :: NewId ,] , destructor : false , } ,] ; type Map = super :: ResourceMap ; fn is_destructor (& self) -> bool { match * self { _ => false , } } fn opcode (& self) -> u16 { match * self { Event :: TabletAdded { .. } => 0 , Event :: ToolAdded { .. } => 1 , Event :: PadAdded { .. } => 2 , } } fn since (& self) -> u32 { match * self { Event :: TabletAdded { .. } => 1 , Event :: ToolAdded { .. } => 1 , Event :: PadAdded { .. } => 1 , } } fn child < Meta : ObjectMetadata > (opcode : u16 , version : u32 , meta : & Meta) -> Option < Object < Meta >> { match opcode { 0 => Some (Object :: from_interface :: < super :: zwp_tablet_v2 :: ZwpTabletV2 > (version , meta . child () ,)) , 1 => Some (Object :: from_interface :: < super :: zwp_tablet_tool_v2 :: ZwpTabletToolV2 > (version , meta . child () ,)) , 2 => Some (Object :: from_interface :: < super :: zwp_tablet_pad_v2 :: ZwpTabletPadV2 > (version , meta . child () ,)) , _ => None , } } fn from_raw (msg : Message , map : & mut Self :: Map) -> Result < Self , () > { panic ! ("Event::from_raw can not be used Server-side.") } fn into_raw (self , sender_id : u32) -> Message { match self { Event :: TabletAdded { id } => Message { sender_id : sender_id , opcode : 0 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , Event :: ToolAdded { id } => Message { sender_id : sender_id , opcode : 1 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , Event :: PadAdded { id } => Message { sender_id : sender_id , opcode : 2 , args : smallvec ! [Argument :: NewId (id . id ()) ,] , } , } } unsafe fn from_raw_c (obj : * mut :: std :: os :: raw :: c_void , opcode : u32 , args : * const wl_argument ,) -> Result < Event , () > { panic ! ("Event::from_raw_c can not be used Server-side.") } fn as_raw_c_in < F , T > (self , f : F) -> T where F : FnOnce (u32 , & mut [wl_argument]) -> T { match self { Event :: TabletAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (0 , & mut _args_array) } , Event :: ToolAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (1 , & mut _args_array) } , Event :: PadAdded { id } => { let mut _args_array : [wl_argument ; 1] = unsafe { :: std :: mem :: zeroed () } ; _args_array [0] . o = id . c_ptr () as * mut _ ; f (2 , & mut _args_array) } , } } } # [derive (Clone , Eq , PartialEq)] #[derive(Clone)] [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.68s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.2.1, smithay v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "7c0604516dbf0ba9b694c88c047262b2b95e211e3a12e6880e483ec574268b96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c0604516dbf0ba9b694c88c047262b2b95e211e3a12e6880e483ec574268b96", kill_on_drop: false }` [INFO] [stdout] 7c0604516dbf0ba9b694c88c047262b2b95e211e3a12e6880e483ec574268b96