[INFO] cloning repository https://github.com/sid-lakhani/pico
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sid-lakhani/pico" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsid-lakhani%2Fpico", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsid-lakhani%2Fpico'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 27e1cf35a8de7d42aeaab504453947d98958f657
[INFO] checking sid-lakhani/pico against master#377656d3dd3f9c23a9c8713e163f4365a5261a84 for pr-146470-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsid-lakhani%2Fpico" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sid-lakhani/pico
[INFO] finished tweaking git repo https://github.com/sid-lakhani/pico
[INFO] tweaked toml for git repo https://github.com/sid-lakhani/pico written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sid-lakhani/pico on toolchain 377656d3dd3f9c23a9c8713e163f4365a5261a84
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sid-lakhani/pico already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.28
[INFO] [stderr]   Downloaded zerocopy v0.8.28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2993d54e8d97b9a8b325c7701abaae6eeb936f8651de2ffc323567ef71dd3562
[INFO] running `Command { std: "docker" "start" "-a" "2993d54e8d97b9a8b325c7701abaae6eeb936f8651de2ffc323567ef71dd3562", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2993d54e8d97b9a8b325c7701abaae6eeb936f8651de2ffc323567ef71dd3562", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2993d54e8d97b9a8b325c7701abaae6eeb936f8651de2ffc323567ef71dd3562", kill_on_drop: false }`
[INFO] [stdout] 2993d54e8d97b9a8b325c7701abaae6eeb936f8651de2ffc323567ef71dd3562
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a61788f512a1c72937b15876ec6fc69981dd78a690c5d3241a465c6ec4a3084e
[INFO] running `Command { std: "docker" "start" "-a" "a61788f512a1c72937b15876ec6fc69981dd78a690c5d3241a465c6ec4a3084e", kill_on_drop: false }`
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking pxfm v0.1.25
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]    Compiling pico v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking moxcms v0.7.9
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stdout] warning[E0133]: call to unsafe function `x11::xlib::XOpenDisplay` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let display = xlib::XOpenDisplay(ptr::null());
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | unsafe fn pick_once() -> (u8, u8, u8) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `x11::xlib::XDefaultScreen` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let screen = xlib::XDefaultScreen(display);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XRootWindow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let root = xlib::XRootWindow(display, screen);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XCreateFontCursor` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let cursor = xlib::XCreateFontCursor(display, 34); // XC_crosshair = 34
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XDefineCursor` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     xlib::XDefineCursor(display, root, cursor);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGrabPointer` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:88:16
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let grab = xlib::XGrabPointer(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 89 | |         display,
[INFO] [stdout] 90 | |         root,
[INFO] [stdout] 91 | |         xlib::True,
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |         xlib::CurrentTime,
[INFO] [stdout] 98 | |     );
[INFO] [stdout]    | |_____^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `std::mem::zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut event: xlib::XEvent = std::mem::zeroed();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XNextEvent` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         xlib::XNextEvent(display, &mut event);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let x = event.button.x_root;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let y = event.button.y_root;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGetImage` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |               let img = xlib::XGetImage(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 115 | |                 display,
[INFO] [stdout] 116 | |                 root,
[INFO] [stdout] 117 | |                 x,
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 xlib::ZPixmap,
[INFO] [stdout] 123 | |             );
[INFO] [stdout]     | |_____________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGetPixel` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let pixel = xlib::XGetPixel(img, 0, 0);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XDestroyImage` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             xlib::XDestroyImage(img);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XUngrabPointer` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             xlib::XUngrabPointer(display, xlib::CurrentTime);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XCloseDisplay` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             xlib::XCloseDisplay(display);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XOpenDisplay` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let display = xlib::XOpenDisplay(ptr::null());
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | unsafe fn pick_once() -> (u8, u8, u8) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `x11::xlib::XDefaultScreen` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let screen = xlib::XDefaultScreen(display);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XRootWindow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let root = xlib::XRootWindow(display, screen);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XCreateFontCursor` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let cursor = xlib::XCreateFontCursor(display, 34); // XC_crosshair = 34
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XDefineCursor` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     xlib::XDefineCursor(display, root, cursor);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGrabPointer` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:88:16
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let grab = xlib::XGrabPointer(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 89 | |         display,
[INFO] [stdout] 90 | |         root,
[INFO] [stdout] 91 | |         xlib::True,
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |         xlib::CurrentTime,
[INFO] [stdout] 98 | |     );
[INFO] [stdout]    | |_____^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `std::mem::zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut event: xlib::XEvent = std::mem::zeroed();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XNextEvent` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         xlib::XNextEvent(display, &mut event);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let x = event.button.x_root;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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/main.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let y = event.button.y_root;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGetImage` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |               let img = xlib::XGetImage(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 115 | |                 display,
[INFO] [stdout] 116 | |                 root,
[INFO] [stdout] 117 | |                 x,
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 xlib::ZPixmap,
[INFO] [stdout] 123 | |             );
[INFO] [stdout]     | |_____________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XGetPixel` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let pixel = xlib::XGetPixel(img, 0, 0);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XDestroyImage` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             xlib::XDestroyImage(img);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XUngrabPointer` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             xlib::XUngrabPointer(display, xlib::CurrentTime);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[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 `x11::xlib::XCloseDisplay` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             xlib::XCloseDisplay(display);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[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 12.86s
[INFO] running `Command { std: "docker" "inspect" "a61788f512a1c72937b15876ec6fc69981dd78a690c5d3241a465c6ec4a3084e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a61788f512a1c72937b15876ec6fc69981dd78a690c5d3241a465c6ec4a3084e", kill_on_drop: false }`
[INFO] [stdout] a61788f512a1c72937b15876ec6fc69981dd78a690c5d3241a465c6ec4a3084e
