[INFO] fetching crate wrflib 0.0.3... [INFO] checking wrflib-0.0.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate wrflib 0.0.3 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate wrflib 0.0.3 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate wrflib 0.0.3 [INFO] finished tweaking crates.io crate wrflib 0.0.3 [INFO] tweaked toml for crates.io crate wrflib 0.0.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 108 packages to latest compatible versions [INFO] [stderr] Adding bindgen v0.59.2 (available: v0.70.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.18) [INFO] [stderr] Adding env_logger v0.9.3 (available: v0.11.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding peeking_take_while v0.1.2 (available: v1.0.0) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding strsim v0.8.0 (available: v0.11.1) [INFO] [stderr] Adding textwrap v0.11.0 (available: v0.16.1) [INFO] [stderr] Adding time v0.1.45 (available: v0.3.36) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding which v4.4.2 (available: v6.0.3) [INFO] [stderr] Adding widestring v0.4.3 (available: v1.1.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8e71b50b4ea6f56a6a4f5d86d372f798bff16588450a8e14132342eb7f8b613 [INFO] running `Command { std: "docker" "start" "-a" "d8e71b50b4ea6f56a6a4f5d86d372f798bff16588450a8e14132342eb7f8b613", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8e71b50b4ea6f56a6a4f5d86d372f798bff16588450a8e14132342eb7f8b613", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8e71b50b4ea6f56a6a4f5d86d372f798bff16588450a8e14132342eb7f8b613", kill_on_drop: false }` [INFO] [stdout] d8e71b50b4ea6f56a6a4f5d86d372f798bff16588450a8e14132342eb7f8b613 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64211c2a9df343dc6c5325bf355b15cfb69ab3a1af36d37a63f7fdea0c44bca3 [INFO] running `Command { std: "docker" "start" "-a" "64211c2a9df343dc6c5325bf355b15cfb69ab3a1af36d37a63f7fdea0c44bca3", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling xml-rs v0.8.22 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling wrflib_x11_sys v0.0.3 [INFO] [stderr] Compiling wrflib_glx_sys v0.0.3 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking wrflib_shader_compiler v0.0.3 [INFO] [stderr] Checking ureq v2.10.1 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking wrflib_vector v0.0.3 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling gl v0.14.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking wrflib v0.0.3 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wrflib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:173:7 [INFO] [stderr] | [INFO] [stderr] 173 | ( $ code: expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/universal_rand.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | ( $ code: expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 173 | ( $ code: expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std_shader::*` [INFO] [stdout] --> src/lib.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | pub use std_shader::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout_api::*` [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub use layout_api::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macros::*` [INFO] [stdout] --> src/lib.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub use macros::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::DndAtoms::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1672:22 [INFO] [stdout] | [INFO] [stdout] 1672 | Dnd { atoms: DndAtoms::new(display), display, type_list: None, selection: None } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1671:5 [INFO] [stdout] | [INFO] [stdout] 1671 | unsafe fn new(display: *mut X11_sys::Display) -> Dnd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XChangeProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1684:9 [INFO] [stdout] | [INFO] [stdout] 1684 | / X11_sys::XChangeProperty( [INFO] [stdout] 1685 | | self.display, [INFO] [stdout] 1686 | | window, [INFO] [stdout] 1687 | | self.atoms.aware, [INFO] [stdout] ... | [INFO] [stdout] 1692 | | 1, [INFO] [stdout] 1693 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1676:5 [INFO] [stdout] | [INFO] [stdout] 1676 | unsafe fn enable_for_window(&mut self, window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1702:29 [INFO] [stdout] | [INFO] [stdout] 1702 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1697:5 [INFO] [stdout] | [INFO] [stdout] 1697 | unsafe fn handle_enter_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1703:30 [INFO] [stdout] | [INFO] [stdout] 1703 | let has_more_types = event.data.l[1] & (1 << 0) != 0; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::get_type_list_property` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1709:13 [INFO] [stdout] | [INFO] [stdout] 1709 | self.get_type_list_property(source_window) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1711:13 [INFO] [stdout] | [INFO] [stdout] 1711 | event.data.l[2..4] [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::convert_selection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1729:9 [INFO] [stdout] | [INFO] [stdout] 1729 | self.convert_selection(target_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1720:5 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn handle_drop_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1749:29 [INFO] [stdout] | [INFO] [stdout] 1749 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1743:5 [INFO] [stdout] | [INFO] [stdout] 1743 | unsafe fn handle_position_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::send_status_event` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1758:9 [INFO] [stdout] | [INFO] [stdout] 1758 | self.send_status_event(source_window, target_window, accepted); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1794:13 [INFO] [stdout] | [INFO] [stdout] 1794 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1795 | | self.display, [INFO] [stdout] 1796 | | source_window, [INFO] [stdout] 1797 | | self.atoms.selection, [INFO] [stdout] ... | [INFO] [stdout] 1806 | | &mut prop, [INFO] [stdout] 1807 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1784:5 [INFO] [stdout] | [INFO] [stdout] 1784 | unsafe fn get_selection_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1808:41 [INFO] [stdout] | [INFO] [stdout] 1808 | selection.extend_from_slice(slice::from_raw_parts(prop as *mut c_uchar, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1809:13 [INFO] [stdout] | [INFO] [stdout] 1809 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1829:13 [INFO] [stdout] | [INFO] [stdout] 1829 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1830 | | self.display, [INFO] [stdout] 1831 | | source_window, [INFO] [stdout] 1832 | | self.atoms.type_list, [INFO] [stdout] ... | [INFO] [stdout] 1841 | | &mut prop, [INFO] [stdout] 1842 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1819:5 [INFO] [stdout] | [INFO] [stdout] 1819 | unsafe fn get_type_list_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1843:41 [INFO] [stdout] | [INFO] [stdout] 1843 | type_list.extend_from_slice(slice::from_raw_parts(prop as *mut X11_sys::Atom, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1844:13 [INFO] [stdout] | [INFO] [stdout] 1844 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XSendEvent` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1855:9 [INFO] [stdout] | [INFO] [stdout] 1855 | / X11_sys::XSendEvent( [INFO] [stdout] 1856 | | self.display, [INFO] [stdout] 1857 | | source_window, [INFO] [stdout] 1858 | | X11_sys::False as c_int, [INFO] [stdout] ... | [INFO] [stdout] 1877 | | } as *mut X11_sys::XClientMessageEvent as *mut X11_sys::XEvent, [INFO] [stdout] 1878 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1854:5 [INFO] [stdout] | [INFO] [stdout] 1854 | unsafe fn send_status_event(&mut self, source_window: X11_sys::Window, target_window: X11_sys::Window, accepted: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1869:36 [INFO] [stdout] | [INFO] [stdout] 1869 | let mut data = mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1870:21 [INFO] [stdout] | [INFO] [stdout] 1870 | data.l[0] = target_window as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1871:21 [INFO] [stdout] | [INFO] [stdout] 1871 | data.l[1] = if accepted { 1 << 0 } else { 0 }; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1872:21 [INFO] [stdout] | [INFO] [stdout] 1872 | data.l[2] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1873:21 [INFO] [stdout] | [INFO] [stdout] 1873 | data.l[3] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1874:21 [INFO] [stdout] | [INFO] [stdout] 1874 | data.l[4] = if accepted { self.atoms.action_private } else { self.atoms.none } as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFlush` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1879:9 [INFO] [stdout] | [INFO] [stdout] 1879 | X11_sys::XFlush(self.display); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XConvertSelection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1885:9 [INFO] [stdout] | [INFO] [stdout] 1885 | / X11_sys::XConvertSelection( [INFO] [stdout] 1886 | | self.display, [INFO] [stdout] 1887 | | self.atoms.selection, [INFO] [stdout] 1888 | | self.atoms.uri_list, [INFO] [stdout] ... | [INFO] [stdout] 1891 | | X11_sys::CurrentTime as X11_sys::Time, [INFO] [stdout] 1892 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1884:5 [INFO] [stdout] | [INFO] [stdout] 1884 | unsafe fn convert_selection(&self, target_window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1913:29 [INFO] [stdout] | [INFO] [stdout] 1913 | action_private: X11_sys::XInternAtom(display, CString::new("XdndActionPrivate").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1911:5 [INFO] [stdout] | [INFO] [stdout] 1911 | unsafe fn new(display: *mut X11_sys::Display) -> DndAtoms { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1914:20 [INFO] [stdout] | [INFO] [stdout] 1914 | aware: X11_sys::XInternAtom(display, CString::new("XdndAware").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1915:19 [INFO] [stdout] | [INFO] [stdout] 1915 | drop: X11_sys::XInternAtom(display, CString::new("XdndDrop").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1916:20 [INFO] [stdout] | [INFO] [stdout] 1916 | enter: X11_sys::XInternAtom(display, CString::new("XdndEnter").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1917:20 [INFO] [stdout] | [INFO] [stdout] 1917 | leave: X11_sys::XInternAtom(display, CString::new("XdndLeave").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1918:19 [INFO] [stdout] | [INFO] [stdout] 1918 | none: X11_sys::XInternAtom(display, CString::new("None").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1919:23 [INFO] [stdout] | [INFO] [stdout] 1919 | position: X11_sys::XInternAtom(display, CString::new("XdndPosition").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1920:24 [INFO] [stdout] | [INFO] [stdout] 1920 | selection: X11_sys::XInternAtom(display, CString::new("XdndSelection").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1921:21 [INFO] [stdout] | [INFO] [stdout] 1921 | status: X11_sys::XInternAtom(display, CString::new("XdndStatus").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1922:24 [INFO] [stdout] | [INFO] [stdout] 1922 | type_list: X11_sys::XInternAtom(display, CString::new("XdndTypeList").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1923:23 [INFO] [stdout] | [INFO] [stdout] 1923 | uri_list: X11_sys::XInternAtom(display, CString::new("text/uri-list").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fonts.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut fonts_atlas = &mut cx.fonts_data.write().unwrap().fonts_atlas; [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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:715:43 [INFO] [stdout] | [INFO] [stdout] 715 | let mut proc_signals = if let Ok(mut signals) = self.signals.lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:719:17 [INFO] [stdout] | [INFO] [stdout] 719 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 715 ~ let mut proc_signals = match self.signals.lock() { Ok(mut signals) => { [INFO] [stdout] 716 | let sigs = signals.clone(); [INFO] [stdout] 717 | signals.truncate(0); [INFO] [stdout] 718 | sigs [INFO] [stdout] 719 ~ } _ => { [INFO] [stdout] 720 | Vec::new() [INFO] [stdout] 721 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:813:16 [INFO] [stdout] | [INFO] [stdout] 813 | if let Ok(mut signals_locked) = (*GLOBAL_XLIB_APP).signals.lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:822:13 [INFO] [stdout] | [INFO] [stdout] 822 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 813 ~ match (*GLOBAL_XLIB_APP).signals.lock() { Ok(mut signals_locked) => { [INFO] [stdout] 814 | let mut signals = HashMap::new(); [INFO] [stdout] ... [INFO] [stdout] 821 | // !TODO unblock the select! [INFO] [stdout] 822 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let Ok(mut file) = File::create(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 28 ~ match File::create(path) { Ok(mut file) => { [INFO] [stdout] 29 | if file.write_all(data).is_ok() { [INFO] [stdout] ... [INFO] [stdout] 32 | } [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | println!("ERROR WRITING FILE {}", path); [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | if let Ok(bytes_written) = tcp_stream.write(buf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 58 ~ match tcp_stream.write(buf) { Ok(bytes_written) => { [INFO] [stdout] 59 | if bytes_written == 0 { [INFO] [stdout] ... [INFO] [stdout] 62 | bytes_left -= bytes_written; [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return true; [INFO] [stdout] 65 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/universal_file.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | if let Ok(resp) = ureq::get(url).call() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/universal_file.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match ureq::get(url).call() { Ok(resp) => { [INFO] [stdout] 159 | let mut buffer: Vec = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 164 | } [INFO] [stdout] 165 ~ } _ => { [INFO] [stdout] 166 | Err(std::io::Error::new(std::io::ErrorKind::Other, format!("Error while loading {}", url))) [INFO] [stdout] 167 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/universal_http_stream.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | if let Some(encoding) = response.header("content-encoding") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/universal_http_stream.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 29 ~ match response.header("content-encoding") { Some(encoding) => { [INFO] [stdout] 30 | if encoding == "gzip" { [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | Ok(Box::new(response.into_reader())) [INFO] [stdout] 40 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/text_ins.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | let tc = if let Some(tc) = read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id] { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/text_ins.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 307 ~ let tc = match read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id] { Some(tc) => { [INFO] [stdout] 308 | tc [INFO] [stdout] 309 ~ } _ => { [INFO] [stdout] 310 | // Drop `read_lock` to do some writes, and then reacquire it. [INFO] [stdout] ... [INFO] [stdout] 329 | read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id].unwrap() [INFO] [stdout] 330 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 48 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wrflib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:173:7 [INFO] [stderr] | [INFO] [stderr] 173 | ( $ code: expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/universal_rand.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | ( $ code: expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 173 | ( $ code: expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std_shader::*` [INFO] [stdout] --> src/lib.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | pub use std_shader::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout_api::*` [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub use layout_api::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macros::*` [INFO] [stdout] --> src/lib.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub use macros::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::DndAtoms::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1672:22 [INFO] [stdout] | [INFO] [stdout] 1672 | Dnd { atoms: DndAtoms::new(display), display, type_list: None, selection: None } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1671:5 [INFO] [stdout] | [INFO] [stdout] 1671 | unsafe fn new(display: *mut X11_sys::Display) -> Dnd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XChangeProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1684:9 [INFO] [stdout] | [INFO] [stdout] 1684 | / X11_sys::XChangeProperty( [INFO] [stdout] 1685 | | self.display, [INFO] [stdout] 1686 | | window, [INFO] [stdout] 1687 | | self.atoms.aware, [INFO] [stdout] ... | [INFO] [stdout] 1692 | | 1, [INFO] [stdout] 1693 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1676:5 [INFO] [stdout] | [INFO] [stdout] 1676 | unsafe fn enable_for_window(&mut self, window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1702:29 [INFO] [stdout] | [INFO] [stdout] 1702 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1697:5 [INFO] [stdout] | [INFO] [stdout] 1697 | unsafe fn handle_enter_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1703:30 [INFO] [stdout] | [INFO] [stdout] 1703 | let has_more_types = event.data.l[1] & (1 << 0) != 0; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::get_type_list_property` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1709:13 [INFO] [stdout] | [INFO] [stdout] 1709 | self.get_type_list_property(source_window) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1711:13 [INFO] [stdout] | [INFO] [stdout] 1711 | event.data.l[2..4] [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::convert_selection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1729:9 [INFO] [stdout] | [INFO] [stdout] 1729 | self.convert_selection(target_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1720:5 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn handle_drop_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1749:29 [INFO] [stdout] | [INFO] [stdout] 1749 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1743:5 [INFO] [stdout] | [INFO] [stdout] 1743 | unsafe fn handle_position_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::send_status_event` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1758:9 [INFO] [stdout] | [INFO] [stdout] 1758 | self.send_status_event(source_window, target_window, accepted); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1794:13 [INFO] [stdout] | [INFO] [stdout] 1794 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1795 | | self.display, [INFO] [stdout] 1796 | | source_window, [INFO] [stdout] 1797 | | self.atoms.selection, [INFO] [stdout] ... | [INFO] [stdout] 1806 | | &mut prop, [INFO] [stdout] 1807 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1784:5 [INFO] [stdout] | [INFO] [stdout] 1784 | unsafe fn get_selection_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1808:41 [INFO] [stdout] | [INFO] [stdout] 1808 | selection.extend_from_slice(slice::from_raw_parts(prop as *mut c_uchar, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1809:13 [INFO] [stdout] | [INFO] [stdout] 1809 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1829:13 [INFO] [stdout] | [INFO] [stdout] 1829 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1830 | | self.display, [INFO] [stdout] 1831 | | source_window, [INFO] [stdout] 1832 | | self.atoms.type_list, [INFO] [stdout] ... | [INFO] [stdout] 1841 | | &mut prop, [INFO] [stdout] 1842 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1819:5 [INFO] [stdout] | [INFO] [stdout] 1819 | unsafe fn get_type_list_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1843:41 [INFO] [stdout] | [INFO] [stdout] 1843 | type_list.extend_from_slice(slice::from_raw_parts(prop as *mut X11_sys::Atom, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1844:13 [INFO] [stdout] | [INFO] [stdout] 1844 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XSendEvent` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1855:9 [INFO] [stdout] | [INFO] [stdout] 1855 | / X11_sys::XSendEvent( [INFO] [stdout] 1856 | | self.display, [INFO] [stdout] 1857 | | source_window, [INFO] [stdout] 1858 | | X11_sys::False as c_int, [INFO] [stdout] ... | [INFO] [stdout] 1877 | | } as *mut X11_sys::XClientMessageEvent as *mut X11_sys::XEvent, [INFO] [stdout] 1878 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1854:5 [INFO] [stdout] | [INFO] [stdout] 1854 | unsafe fn send_status_event(&mut self, source_window: X11_sys::Window, target_window: X11_sys::Window, accepted: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1869:36 [INFO] [stdout] | [INFO] [stdout] 1869 | let mut data = mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1870:21 [INFO] [stdout] | [INFO] [stdout] 1870 | data.l[0] = target_window as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1871:21 [INFO] [stdout] | [INFO] [stdout] 1871 | data.l[1] = if accepted { 1 << 0 } else { 0 }; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1872:21 [INFO] [stdout] | [INFO] [stdout] 1872 | data.l[2] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1873:21 [INFO] [stdout] | [INFO] [stdout] 1873 | data.l[3] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1874:21 [INFO] [stdout] | [INFO] [stdout] 1874 | data.l[4] = if accepted { self.atoms.action_private } else { self.atoms.none } as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFlush` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1879:9 [INFO] [stdout] | [INFO] [stdout] 1879 | X11_sys::XFlush(self.display); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XConvertSelection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1885:9 [INFO] [stdout] | [INFO] [stdout] 1885 | / X11_sys::XConvertSelection( [INFO] [stdout] 1886 | | self.display, [INFO] [stdout] 1887 | | self.atoms.selection, [INFO] [stdout] 1888 | | self.atoms.uri_list, [INFO] [stdout] ... | [INFO] [stdout] 1891 | | X11_sys::CurrentTime as X11_sys::Time, [INFO] [stdout] 1892 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1884:5 [INFO] [stdout] | [INFO] [stdout] 1884 | unsafe fn convert_selection(&self, target_window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1913:29 [INFO] [stdout] | [INFO] [stdout] 1913 | action_private: X11_sys::XInternAtom(display, CString::new("XdndActionPrivate").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1911:5 [INFO] [stdout] | [INFO] [stdout] 1911 | unsafe fn new(display: *mut X11_sys::Display) -> DndAtoms { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1914:20 [INFO] [stdout] | [INFO] [stdout] 1914 | aware: X11_sys::XInternAtom(display, CString::new("XdndAware").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1915:19 [INFO] [stdout] | [INFO] [stdout] 1915 | drop: X11_sys::XInternAtom(display, CString::new("XdndDrop").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1916:20 [INFO] [stdout] | [INFO] [stdout] 1916 | enter: X11_sys::XInternAtom(display, CString::new("XdndEnter").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1917:20 [INFO] [stdout] | [INFO] [stdout] 1917 | leave: X11_sys::XInternAtom(display, CString::new("XdndLeave").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1918:19 [INFO] [stdout] | [INFO] [stdout] 1918 | none: X11_sys::XInternAtom(display, CString::new("None").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1919:23 [INFO] [stdout] | [INFO] [stdout] 1919 | position: X11_sys::XInternAtom(display, CString::new("XdndPosition").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1920:24 [INFO] [stdout] | [INFO] [stdout] 1920 | selection: X11_sys::XInternAtom(display, CString::new("XdndSelection").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1921:21 [INFO] [stdout] | [INFO] [stdout] 1921 | status: X11_sys::XInternAtom(display, CString::new("XdndStatus").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1922:24 [INFO] [stdout] | [INFO] [stdout] 1922 | type_list: X11_sys::XInternAtom(display, CString::new("XdndTypeList").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1923:23 [INFO] [stdout] | [INFO] [stdout] 1923 | uri_list: X11_sys::XInternAtom(display, CString::new("text/uri-list").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fonts.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut fonts_atlas = &mut cx.fonts_data.write().unwrap().fonts_atlas; [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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:715:43 [INFO] [stdout] | [INFO] [stdout] 715 | let mut proc_signals = if let Ok(mut signals) = self.signals.lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:719:17 [INFO] [stdout] | [INFO] [stdout] 719 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 715 ~ let mut proc_signals = match self.signals.lock() { Ok(mut signals) => { [INFO] [stdout] 716 | let sigs = signals.clone(); [INFO] [stdout] 717 | signals.truncate(0); [INFO] [stdout] 718 | sigs [INFO] [stdout] 719 ~ } _ => { [INFO] [stdout] 720 | Vec::new() [INFO] [stdout] 721 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:813:16 [INFO] [stdout] | [INFO] [stdout] 813 | if let Ok(mut signals_locked) = (*GLOBAL_XLIB_APP).signals.lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_xlib.rs:822:13 [INFO] [stdout] | [INFO] [stdout] 822 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 813 ~ match (*GLOBAL_XLIB_APP).signals.lock() { Ok(mut signals_locked) => { [INFO] [stdout] 814 | let mut signals = HashMap::new(); [INFO] [stdout] ... [INFO] [stdout] 821 | // !TODO unblock the select! [INFO] [stdout] 822 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let Ok(mut file) = File::create(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 28 ~ match File::create(path) { Ok(mut file) => { [INFO] [stdout] 29 | if file.write_all(data).is_ok() { [INFO] [stdout] ... [INFO] [stdout] 32 | } [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | println!("ERROR WRITING FILE {}", path); [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | if let Ok(bytes_written) = tcp_stream.write(buf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cx_desktop.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 58 ~ match tcp_stream.write(buf) { Ok(bytes_written) => { [INFO] [stdout] 59 | if bytes_written == 0 { [INFO] [stdout] ... [INFO] [stdout] 62 | bytes_left -= bytes_written; [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return true; [INFO] [stdout] 65 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/universal_file.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | if let Ok(resp) = ureq::get(url).call() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/universal_file.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match ureq::get(url).call() { Ok(resp) => { [INFO] [stdout] 159 | let mut buffer: Vec = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 164 | } [INFO] [stdout] 165 ~ } _ => { [INFO] [stdout] 166 | Err(std::io::Error::new(std::io::ErrorKind::Other, format!("Error while loading {}", url))) [INFO] [stdout] 167 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/universal_http_stream.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | if let Some(encoding) = response.header("content-encoding") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/universal_http_stream.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 29 ~ match response.header("content-encoding") { Some(encoding) => { [INFO] [stdout] 30 | if encoding == "gzip" { [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | Ok(Box::new(response.into_reader())) [INFO] [stdout] 40 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/text_ins.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | let tc = if let Some(tc) = read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id] { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/text_ins.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 307 ~ let tc = match read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id] { Some(tc) => { [INFO] [stdout] 308 | tc [INFO] [stdout] 309 ~ } _ => { [INFO] [stdout] 310 | // Drop `read_lock` to do some writes, and then reacquire it. [INFO] [stdout] ... [INFO] [stdout] 329 | read_lock.fonts[font_id].atlas_pages[atlas_page_id].atlas_glyphs[glyph_id][subpixel_id].unwrap() [INFO] [stdout] 330 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 48 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.20s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking wrflib v0.0.3 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/universal_rand.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/universal_rand.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | return rand::thread_rng().r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std_shader::*` [INFO] [stdout] --> src/lib.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | pub use std_shader::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout_api::*` [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub use layout_api::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macros::*` [INFO] [stdout] --> src/lib.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub use macros::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std_shader::*` [INFO] [stdout] --> src/lib.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | pub use std_shader::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layout_api::*` [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub use layout_api::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macros::*` [INFO] [stdout] --> src/lib.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub use macros::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::DndAtoms::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1672:22 [INFO] [stdout] | [INFO] [stdout] 1672 | Dnd { atoms: DndAtoms::new(display), display, type_list: None, selection: None } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1671:5 [INFO] [stdout] | [INFO] [stdout] 1671 | unsafe fn new(display: *mut X11_sys::Display) -> Dnd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XChangeProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1684:9 [INFO] [stdout] | [INFO] [stdout] 1684 | / X11_sys::XChangeProperty( [INFO] [stdout] 1685 | | self.display, [INFO] [stdout] 1686 | | window, [INFO] [stdout] 1687 | | self.atoms.aware, [INFO] [stdout] ... | [INFO] [stdout] 1692 | | 1, [INFO] [stdout] 1693 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1676:5 [INFO] [stdout] | [INFO] [stdout] 1676 | unsafe fn enable_for_window(&mut self, window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1702:29 [INFO] [stdout] | [INFO] [stdout] 1702 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1697:5 [INFO] [stdout] | [INFO] [stdout] 1697 | unsafe fn handle_enter_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1703:30 [INFO] [stdout] | [INFO] [stdout] 1703 | let has_more_types = event.data.l[1] & (1 << 0) != 0; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::get_type_list_property` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1709:13 [INFO] [stdout] | [INFO] [stdout] 1709 | self.get_type_list_property(source_window) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1711:13 [INFO] [stdout] | [INFO] [stdout] 1711 | event.data.l[2..4] [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::convert_selection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1729:9 [INFO] [stdout] | [INFO] [stdout] 1729 | self.convert_selection(target_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1720:5 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn handle_drop_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1749:29 [INFO] [stdout] | [INFO] [stdout] 1749 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1743:5 [INFO] [stdout] | [INFO] [stdout] 1743 | unsafe fn handle_position_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::send_status_event` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1758:9 [INFO] [stdout] | [INFO] [stdout] 1758 | self.send_status_event(source_window, target_window, accepted); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1794:13 [INFO] [stdout] | [INFO] [stdout] 1794 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1795 | | self.display, [INFO] [stdout] 1796 | | source_window, [INFO] [stdout] 1797 | | self.atoms.selection, [INFO] [stdout] ... | [INFO] [stdout] 1806 | | &mut prop, [INFO] [stdout] 1807 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1784:5 [INFO] [stdout] | [INFO] [stdout] 1784 | unsafe fn get_selection_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1808:41 [INFO] [stdout] | [INFO] [stdout] 1808 | selection.extend_from_slice(slice::from_raw_parts(prop as *mut c_uchar, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1809:13 [INFO] [stdout] | [INFO] [stdout] 1809 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1829:13 [INFO] [stdout] | [INFO] [stdout] 1829 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1830 | | self.display, [INFO] [stdout] 1831 | | source_window, [INFO] [stdout] 1832 | | self.atoms.type_list, [INFO] [stdout] ... | [INFO] [stdout] 1841 | | &mut prop, [INFO] [stdout] 1842 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1819:5 [INFO] [stdout] | [INFO] [stdout] 1819 | unsafe fn get_type_list_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1843:41 [INFO] [stdout] | [INFO] [stdout] 1843 | type_list.extend_from_slice(slice::from_raw_parts(prop as *mut X11_sys::Atom, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1844:13 [INFO] [stdout] | [INFO] [stdout] 1844 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XSendEvent` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1855:9 [INFO] [stdout] | [INFO] [stdout] 1855 | / X11_sys::XSendEvent( [INFO] [stdout] 1856 | | self.display, [INFO] [stdout] 1857 | | source_window, [INFO] [stdout] 1858 | | X11_sys::False as c_int, [INFO] [stdout] ... | [INFO] [stdout] 1877 | | } as *mut X11_sys::XClientMessageEvent as *mut X11_sys::XEvent, [INFO] [stdout] 1878 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1854:5 [INFO] [stdout] | [INFO] [stdout] 1854 | unsafe fn send_status_event(&mut self, source_window: X11_sys::Window, target_window: X11_sys::Window, accepted: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1869:36 [INFO] [stdout] | [INFO] [stdout] 1869 | let mut data = mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1870:21 [INFO] [stdout] | [INFO] [stdout] 1870 | data.l[0] = target_window as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1871:21 [INFO] [stdout] | [INFO] [stdout] 1871 | data.l[1] = if accepted { 1 << 0 } else { 0 }; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1872:21 [INFO] [stdout] | [INFO] [stdout] 1872 | data.l[2] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1873:21 [INFO] [stdout] | [INFO] [stdout] 1873 | data.l[3] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1874:21 [INFO] [stdout] | [INFO] [stdout] 1874 | data.l[4] = if accepted { self.atoms.action_private } else { self.atoms.none } as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFlush` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1879:9 [INFO] [stdout] | [INFO] [stdout] 1879 | X11_sys::XFlush(self.display); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XConvertSelection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1885:9 [INFO] [stdout] | [INFO] [stdout] 1885 | / X11_sys::XConvertSelection( [INFO] [stdout] 1886 | | self.display, [INFO] [stdout] 1887 | | self.atoms.selection, [INFO] [stdout] 1888 | | self.atoms.uri_list, [INFO] [stdout] ... | [INFO] [stdout] 1891 | | X11_sys::CurrentTime as X11_sys::Time, [INFO] [stdout] 1892 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1884:5 [INFO] [stdout] | [INFO] [stdout] 1884 | unsafe fn convert_selection(&self, target_window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1913:29 [INFO] [stdout] | [INFO] [stdout] 1913 | action_private: X11_sys::XInternAtom(display, CString::new("XdndActionPrivate").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1911:5 [INFO] [stdout] | [INFO] [stdout] 1911 | unsafe fn new(display: *mut X11_sys::Display) -> DndAtoms { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1914:20 [INFO] [stdout] | [INFO] [stdout] 1914 | aware: X11_sys::XInternAtom(display, CString::new("XdndAware").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1915:19 [INFO] [stdout] | [INFO] [stdout] 1915 | drop: X11_sys::XInternAtom(display, CString::new("XdndDrop").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1916:20 [INFO] [stdout] | [INFO] [stdout] 1916 | enter: X11_sys::XInternAtom(display, CString::new("XdndEnter").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1917:20 [INFO] [stdout] | [INFO] [stdout] 1917 | leave: X11_sys::XInternAtom(display, CString::new("XdndLeave").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1918:19 [INFO] [stdout] | [INFO] [stdout] 1918 | none: X11_sys::XInternAtom(display, CString::new("None").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1919:23 [INFO] [stdout] | [INFO] [stdout] 1919 | position: X11_sys::XInternAtom(display, CString::new("XdndPosition").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1920:24 [INFO] [stdout] | [INFO] [stdout] 1920 | selection: X11_sys::XInternAtom(display, CString::new("XdndSelection").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1921:21 [INFO] [stdout] | [INFO] [stdout] 1921 | status: X11_sys::XInternAtom(display, CString::new("XdndStatus").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1922:24 [INFO] [stdout] | [INFO] [stdout] 1922 | type_list: X11_sys::XInternAtom(display, CString::new("XdndTypeList").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1923:23 [INFO] [stdout] | [INFO] [stdout] 1923 | uri_list: X11_sys::XInternAtom(display, CString::new("text/uri-list").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::DndAtoms::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1672:22 [INFO] [stdout] | [INFO] [stdout] 1672 | Dnd { atoms: DndAtoms::new(display), display, type_list: None, selection: None } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1671:5 [INFO] [stdout] | [INFO] [stdout] 1671 | unsafe fn new(display: *mut X11_sys::Display) -> Dnd { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XChangeProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1684:9 [INFO] [stdout] | [INFO] [stdout] 1684 | / X11_sys::XChangeProperty( [INFO] [stdout] 1685 | | self.display, [INFO] [stdout] 1686 | | window, [INFO] [stdout] 1687 | | self.atoms.aware, [INFO] [stdout] ... | [INFO] [stdout] 1692 | | 1, [INFO] [stdout] 1693 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1676:5 [INFO] [stdout] | [INFO] [stdout] 1676 | unsafe fn enable_for_window(&mut self, window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1702:29 [INFO] [stdout] | [INFO] [stdout] 1702 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1697:5 [INFO] [stdout] | [INFO] [stdout] 1697 | unsafe fn handle_enter_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1703:30 [INFO] [stdout] | [INFO] [stdout] 1703 | let has_more_types = event.data.l[1] & (1 << 0) != 0; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::get_type_list_property` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1709:13 [INFO] [stdout] | [INFO] [stdout] 1709 | self.get_type_list_property(source_window) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1711:13 [INFO] [stdout] | [INFO] [stdout] 1711 | event.data.l[2..4] [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::convert_selection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1729:9 [INFO] [stdout] | [INFO] [stdout] 1729 | self.convert_selection(target_window); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1720:5 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn handle_drop_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1749:29 [INFO] [stdout] | [INFO] [stdout] 1749 | let source_window = event.data.l[0] as X11_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1743:5 [INFO] [stdout] | [INFO] [stdout] 1743 | unsafe fn handle_position_event(&mut self, event: &X11_sys::XClientMessageEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cx_xlib::Dnd::send_status_event` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1758:9 [INFO] [stdout] | [INFO] [stdout] 1758 | self.send_status_event(source_window, target_window, accepted); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1794:13 [INFO] [stdout] | [INFO] [stdout] 1794 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1795 | | self.display, [INFO] [stdout] 1796 | | source_window, [INFO] [stdout] 1797 | | self.atoms.selection, [INFO] [stdout] ... | [INFO] [stdout] 1806 | | &mut prop, [INFO] [stdout] 1807 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1784:5 [INFO] [stdout] | [INFO] [stdout] 1784 | unsafe fn get_selection_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1808:41 [INFO] [stdout] | [INFO] [stdout] 1808 | selection.extend_from_slice(slice::from_raw_parts(prop as *mut c_uchar, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1809:13 [INFO] [stdout] | [INFO] [stdout] 1809 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XGetWindowProperty` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1829:13 [INFO] [stdout] | [INFO] [stdout] 1829 | / X11_sys::XGetWindowProperty( [INFO] [stdout] 1830 | | self.display, [INFO] [stdout] 1831 | | source_window, [INFO] [stdout] 1832 | | self.atoms.type_list, [INFO] [stdout] ... | [INFO] [stdout] 1841 | | &mut prop, [INFO] [stdout] 1842 | | ); [INFO] [stdout] | |_____________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1819:5 [INFO] [stdout] | [INFO] [stdout] 1819 | unsafe fn get_type_list_property(&mut self, source_window: X11_sys::Window) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1843:41 [INFO] [stdout] | [INFO] [stdout] 1843 | type_list.extend_from_slice(slice::from_raw_parts(prop as *mut X11_sys::Atom, nitems as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFree` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1844:13 [INFO] [stdout] | [INFO] [stdout] 1844 | X11_sys::XFree(prop as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XSendEvent` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1855:9 [INFO] [stdout] | [INFO] [stdout] 1855 | / X11_sys::XSendEvent( [INFO] [stdout] 1856 | | self.display, [INFO] [stdout] 1857 | | source_window, [INFO] [stdout] 1858 | | X11_sys::False as c_int, [INFO] [stdout] ... | [INFO] [stdout] 1877 | | } as *mut X11_sys::XClientMessageEvent as *mut X11_sys::XEvent, [INFO] [stdout] 1878 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1854:5 [INFO] [stdout] | [INFO] [stdout] 1854 | unsafe fn send_status_event(&mut self, source_window: X11_sys::Window, target_window: X11_sys::Window, accepted: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1869:36 [INFO] [stdout] | [INFO] [stdout] 1869 | let mut data = mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1870:21 [INFO] [stdout] | [INFO] [stdout] 1870 | data.l[0] = target_window as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1871:21 [INFO] [stdout] | [INFO] [stdout] 1871 | data.l[1] = if accepted { 1 << 0 } else { 0 }; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1872:21 [INFO] [stdout] | [INFO] [stdout] 1872 | data.l[2] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1873:21 [INFO] [stdout] | [INFO] [stdout] 1873 | data.l[3] = 0; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1874:21 [INFO] [stdout] | [INFO] [stdout] 1874 | data.l[4] = if accepted { self.atoms.action_private } else { self.atoms.none } as c_long; [INFO] [stdout] | ^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XFlush` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1879:9 [INFO] [stdout] | [INFO] [stdout] 1879 | X11_sys::XFlush(self.display); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XConvertSelection` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1885:9 [INFO] [stdout] | [INFO] [stdout] 1885 | / X11_sys::XConvertSelection( [INFO] [stdout] 1886 | | self.display, [INFO] [stdout] 1887 | | self.atoms.selection, [INFO] [stdout] 1888 | | self.atoms.uri_list, [INFO] [stdout] ... | [INFO] [stdout] 1891 | | X11_sys::CurrentTime as X11_sys::Time, [INFO] [stdout] 1892 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1884:5 [INFO] [stdout] | [INFO] [stdout] 1884 | unsafe fn convert_selection(&self, target_window: X11_sys::Window) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1913:29 [INFO] [stdout] | [INFO] [stdout] 1913 | action_private: X11_sys::XInternAtom(display, CString::new("XdndActionPrivate").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/cx_xlib.rs:1911:5 [INFO] [stdout] | [INFO] [stdout] 1911 | unsafe fn new(display: *mut X11_sys::Display) -> DndAtoms { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1914:20 [INFO] [stdout] | [INFO] [stdout] 1914 | aware: X11_sys::XInternAtom(display, CString::new("XdndAware").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1915:19 [INFO] [stdout] | [INFO] [stdout] 1915 | drop: X11_sys::XInternAtom(display, CString::new("XdndDrop").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1916:20 [INFO] [stdout] | [INFO] [stdout] 1916 | enter: X11_sys::XInternAtom(display, CString::new("XdndEnter").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1917:20 [INFO] [stdout] | [INFO] [stdout] 1917 | leave: X11_sys::XInternAtom(display, CString::new("XdndLeave").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1918:19 [INFO] [stdout] | [INFO] [stdout] 1918 | none: X11_sys::XInternAtom(display, CString::new("None").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1919:23 [INFO] [stdout] | [INFO] [stdout] 1919 | position: X11_sys::XInternAtom(display, CString::new("XdndPosition").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1920:24 [INFO] [stdout] | [INFO] [stdout] 1920 | selection: X11_sys::XInternAtom(display, CString::new("XdndSelection").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1921:21 [INFO] [stdout] | [INFO] [stdout] 1921 | status: X11_sys::XInternAtom(display, CString::new("XdndStatus").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1922:24 [INFO] [stdout] | [INFO] [stdout] 1922 | type_list: X11_sys::XInternAtom(display, CString::new("XdndTypeList").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `wrflib_x11_sys::XInternAtom` is unsafe and requires unsafe block [INFO] [stdout] --> src/cx_xlib.rs:1923:23 [INFO] [stdout] | [INFO] [stdout] 1923 | uri_list: X11_sys::XInternAtom(display, CString::new("text/uri-list").unwrap().as_ptr(), 0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fonts.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut fonts_atlas = &mut cx.fonts_data.write().unwrap().fonts_atlas; [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/fonts.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut fonts_atlas = &mut cx.fonts_data.write().unwrap().fonts_atlas; [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] error: aborting due to 1 previous error; 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `wrflib` (lib test) due to 2 previous errors; 39 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error; 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `wrflib` (lib) due to 2 previous errors; 39 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "64211c2a9df343dc6c5325bf355b15cfb69ab3a1af36d37a63f7fdea0c44bca3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64211c2a9df343dc6c5325bf355b15cfb69ab3a1af36d37a63f7fdea0c44bca3", kill_on_drop: false }` [INFO] [stdout] 64211c2a9df343dc6c5325bf355b15cfb69ab3a1af36d37a63f7fdea0c44bca3