[INFO] cloning repository https://github.com/Mehjung/snipping_tool [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mehjung/snipping_tool" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMehjung%2Fsnipping_tool", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMehjung%2Fsnipping_tool'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 16cb214fb4c68435c3c6e00563a92d6f6e343b51 [INFO] checking Mehjung/snipping_tool/16cb214fb4c68435c3c6e00563a92d6f6e343b51 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMehjung%2Fsnipping_tool" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Mehjung/snipping_tool 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 git repo https://github.com/Mehjung/snipping_tool [INFO] finished tweaking git repo https://github.com/Mehjung/snipping_tool [INFO] tweaked toml for git repo https://github.com/Mehjung/snipping_tool written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Mehjung/snipping_tool 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dc61f52eb73fdbbe5cccbb74d416344cc414a3c0cb2f3413bf58de3c951c0e0f [INFO] running `Command { std: "docker" "start" "-a" "dc61f52eb73fdbbe5cccbb74d416344cc414a3c0cb2f3413bf58de3c951c0e0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dc61f52eb73fdbbe5cccbb74d416344cc414a3c0cb2f3413bf58de3c951c0e0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc61f52eb73fdbbe5cccbb74d416344cc414a3c0cb2f3413bf58de3c951c0e0f", kill_on_drop: false }` [INFO] [stdout] dc61f52eb73fdbbe5cccbb74d416344cc414a3c0cb2f3413bf58de3c951c0e0f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c4842fadfd514789162031b5616c1a81bdc318f68afbedfbf9ec827a4a98c03 [INFO] running `Command { std: "docker" "start" "-a" "8c4842fadfd514789162031b5616c1a81bdc318f68afbedfbf9ec827a4a98c03", 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] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling proc-macro2 v1.0.82 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling windows_x86_64_gnu v0.52.5 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling windows_x86_64_gnu v0.48.5 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking windows-targets v0.52.5 [INFO] [stderr] Checking windows-targets v0.48.5 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking windows-core v0.51.1 [INFO] [stderr] Checking windows-result v0.1.1 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling anyhow v1.0.83 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking windows v0.51.1 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Compiling syn v2.0.61 [INFO] [stderr] Checking gif v0.11.4 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking win_ocr v0.1.3 [INFO] [stderr] Compiling windows-implement v0.56.0 [INFO] [stderr] Compiling windows-interface v0.56.0 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking windows-core v0.56.0 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking windows v0.56.0 [INFO] [stderr] Checking ocr v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `ocr` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modules/direct2d.rs [INFO] [stderr] * src/modules/win_fact.rs [INFO] [stderr] * src/modules/winproc.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/modules/winproc.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | ($lparam: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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modules/winproc.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($lparam: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] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/direct2d.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn capture_screen_to_bitmap() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/direct2d.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/win_fact.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/win_fact.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stderr] 170 | | instance.0 == 0 [INFO] [stderr] 171 | | })?; [INFO] [stderr] | |______________^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/win_fact.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/win_fact.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | / handle_error( [INFO] [stderr] 253 | | "Changing Window Attributes failed", [INFO] [stderr] 254 | | ExpectedError::Win32, [INFO] [stderr] 255 | | || window.make_transparent().is_err(), [INFO] [stderr] 256 | | )?; [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hr` [INFO] [stderr] --> src/modules/direct2d.rs:361:13 [INFO] [stderr] | [INFO] [stderr] 361 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hdc` [INFO] [stderr] --> src/modules/winproc.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let hdc = BeginPaint(window, &mut ps); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 5 warnings emitted [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: unused imports: `COLORREF`, `CreateRectRgn`, `D2D1_BITMAP_OPTIONS_CPU_READ`, `D2D1_DEVICE_CONTEXT_OPTIONS_NONE`, `D2D1_UNIT_MODE_PIXELS`, `Dxgi::*`, `ID2D1Bitmap1`, `SetWindowRgn`, and `TRUE` [INFO] [stdout] --> src/modules/direct2d.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | Foundation::{COLORREF, FALSE, HWND, RECT, TRUE}, [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | D2D1CreateFactory, ID2D1Bitmap, ID2D1Bitmap1, ID2D1DeviceContext, ID2D1Factory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1_BITMAP_OPTIONS_CPU_READ, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | D2D1_DEVICE_CONTEXT_OPTIONS_NONE, D2D1_FACTORY_OPTIONS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | D2D1_FACTORY_TYPE_SINGLE_THREADED, D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] 27 | D2D1_RENDER_TARGET_PROPERTIES, D2D1_UNIT_MODE_DIPS, D2D1_UNIT_MODE_PIXELS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Dxgi::*, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Gdi::{CreateRectRgn, GetUpdateRect, SetWindowRgn, ValidateRect}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/modules/winproc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeleteObject` and `UpdateWindow` [INFO] [stdout] --> src/modules/winproc.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use windows::Win32::Graphics::Gdi::{DeleteObject, RedrawWindow, UpdateWindow}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateSolidBrush`, `FALSE`, `FillRect`, `HBRUSH`, `InvalidateRect`, `RDW_INVALIDATE`, `SetBkMode`, `TRANSPARENT`, and `TRUE` [INFO] [stdout] --> src/modules/winproc.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | Foundation::{COLORREF, FALSE, HWND, LPARAM, LRESULT, RECT, TRUE, WPARAM}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | BeginPaint, CreateSolidBrush, EndPaint, FillRect, InvalidateRect, SetBkMode, HBRUSH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 12 | PAINTSTRUCT, RDW_INTERNALPAINT, RDW_INVALIDATE, TRANSPARENT, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/winproc.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | ($lparam: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] 27 | ($lparam:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/winproc.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | ($lparam: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($lparam:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/direct2d.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn capture_screen_to_bitmap() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/direct2d.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/win_fact.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/win_fact.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stdout] 170 | | instance.0 == 0 [INFO] [stdout] 171 | | })?; [INFO] [stdout] | |______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/win_fact.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/win_fact.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | / handle_error( [INFO] [stdout] 253 | | "Changing Window Attributes failed", [INFO] [stdout] 254 | | ExpectedError::Win32, [INFO] [stdout] 255 | | || window.make_transparent().is_err(), [INFO] [stdout] 256 | | )?; [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hr` [INFO] [stdout] --> src/modules/direct2d.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::UI::WindowsAndMessaging::DefWindowProcW` is unsafe and requires unsafe block [INFO] [stdout] --> src/modules/win_fact.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | DefWindowProcW(hwnd, msg, wparam, lparam) [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/modules/win_fact.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | / unsafe extern "system" fn default_window_proc( [INFO] [stdout] 314 | | hwnd: HWND, [INFO] [stdout] 315 | | msg: u32, [INFO] [stdout] 316 | | wparam: WPARAM, [INFO] [stdout] 317 | | lparam: LPARAM, [INFO] [stdout] 318 | | ) -> LRESULT { [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: unused variable: `hdc` [INFO] [stdout] --> src/modules/winproc.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | let hdc = BeginPaint(window, &mut ps); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_updated_area` is never used [INFO] [stdout] --> src/modules/direct2d.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn draw_updated_area(win: HWND) -> Result<(), anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prop1` and `prop2` are never read [INFO] [stdout] --> src/modules/direct2d.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 148 | struct Direct2DFactory { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 149 | factory: ID2D1Factory, [INFO] [stdout] 150 | prop1: D2D1_RENDER_TARGET_PROPERTIES, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 151 | prop2: D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bitmap` is never read [INFO] [stdout] --> src/modules/direct2d.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 197 | struct BitmapConverter { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 198 | bitmap: IWICBitmap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nrwt` is never read [INFO] [stdout] --> src/modules/direct2d.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 234 | struct Renderer { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 238 | nrwt: ID2D1RenderTarget, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_updated_area` is never used [INFO] [stdout] --> src/modules/direct2d.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 245 | impl Renderer { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 278 | fn draw_updated_area(&self, window: HWND) -> Result<(), anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_hwnd`, `set_foreground`, `set_position`, and `draw_updated_area` are never used [INFO] [stdout] --> src/modules/win_fact.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Window { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 31 | pub fn get_hwnd(&self) -> HWND { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_foreground(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn set_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn draw_updated_area(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Main` is never constructed [INFO] [stdout] --> src/modules/win_fact.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum WindowType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 309 | Main, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindowType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/main.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | TranslateMessage(&msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = TranslateMessage(&msg); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/direct2d.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | if let Ok(renderer) = renderer_result { [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/modules/direct2d.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ match renderer_result { Ok(renderer) => { [INFO] [stdout] 124 | renderer.draw_bitmap(&bmps); [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | // Handle error [INFO] [stdout] 127 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | renderer.draw_bitmap(&bmps); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 124 | let _ = renderer.draw_bitmap(&bmps); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | GetUpdateRect(window, Some(&mut rect), FALSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 281 | let _ = GetUpdateRect(window, Some(&mut rect), FALSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | ValidateRect(window, Some(&mut rect)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = ValidateRect(window, Some(&mut rect)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | SetForegroundWindow(self.hwnd); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = SetForegroundWindow(self.hwnd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | SetWindowPos(self.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 43 | let _ = SetWindowPos(self.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | ShowWindow(self.hwnd, SW_HIDE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = ShowWindow(self.hwnd, SW_HIDE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | draw_updated_area(self.hwnd); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = draw_updated_area(self.hwnd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | draw_rectangle(self.hwnd, start, end); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 62 | let _ = draw_rectangle(self.hwnd, start, end); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | ShowWindow(self.hwnd, SW_SHOW); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = ShowWindow(self.hwnd, SW_SHOW); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/win_fact.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let Err(e) = DestroyWindow(self.hwnd) { [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/modules/win_fact.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match DestroyWindow(self.hwnd) { Err(e) => { [INFO] [stdout] 111 | let error = anyhow::anyhow!("Error destroying window: {:?}", e); [INFO] [stdout] 112 | eprintln!("{}", error); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/winproc.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | if let Some(start) = *start_point { [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/modules/winproc.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | } [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 *start_point { Some(start) => { [INFO] [stdout] 59 | let end = D2D_POINT_2F { [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/winproc.rs:72:28 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(rect) = invalidated_rect.as_ref() { [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/modules/winproc.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ match invalidated_rect.as_ref() { Some(rect) => { [INFO] [stdout] 73 | let rect = RECT { [INFO] [stdout] ... [INFO] [stdout] 80 | RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] 81 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/winproc.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | ... RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 80 | let _ = RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 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 `ocr` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modules/direct2d.rs [INFO] [stderr] * src/modules/win_fact.rs [INFO] [stderr] * src/modules/winproc.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/modules/winproc.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | ($lparam: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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modules/winproc.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($lparam: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] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/direct2d.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn capture_screen_to_bitmap() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/direct2d.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/win_fact.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/win_fact.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stderr] 170 | | instance.0 == 0 [INFO] [stderr] 171 | | })?; [INFO] [stderr] | |______________^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/modules/win_fact.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stderr] --> src/modules/win_fact.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | / handle_error( [INFO] [stderr] 253 | | "Changing Window Attributes failed", [INFO] [stderr] 254 | | ExpectedError::Win32, [INFO] [stderr] 255 | | || window.make_transparent().is_err(), [INFO] [stderr] 256 | | )?; [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hr` [INFO] [stderr] --> src/modules/direct2d.rs:361:13 [INFO] [stderr] | [INFO] [stderr] 361 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hdc` [INFO] [stderr] --> src/modules/winproc.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let hdc = BeginPaint(window, &mut ps); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 5 warnings emitted [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: unused imports: `COLORREF`, `CreateRectRgn`, `D2D1_BITMAP_OPTIONS_CPU_READ`, `D2D1_DEVICE_CONTEXT_OPTIONS_NONE`, `D2D1_UNIT_MODE_PIXELS`, `Dxgi::*`, `ID2D1Bitmap1`, `SetWindowRgn`, and `TRUE` [INFO] [stdout] --> src/modules/direct2d.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | Foundation::{COLORREF, FALSE, HWND, RECT, TRUE}, [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | D2D1CreateFactory, ID2D1Bitmap, ID2D1Bitmap1, ID2D1DeviceContext, ID2D1Factory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1_BITMAP_OPTIONS_CPU_READ, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | D2D1_DEVICE_CONTEXT_OPTIONS_NONE, D2D1_FACTORY_OPTIONS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | D2D1_FACTORY_TYPE_SINGLE_THREADED, D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] 27 | D2D1_RENDER_TARGET_PROPERTIES, D2D1_UNIT_MODE_DIPS, D2D1_UNIT_MODE_PIXELS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Dxgi::*, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Gdi::{CreateRectRgn, GetUpdateRect, SetWindowRgn, ValidateRect}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/modules/winproc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeleteObject` and `UpdateWindow` [INFO] [stdout] --> src/modules/winproc.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use windows::Win32::Graphics::Gdi::{DeleteObject, RedrawWindow, UpdateWindow}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateSolidBrush`, `FALSE`, `FillRect`, `HBRUSH`, `InvalidateRect`, `RDW_INVALIDATE`, `SetBkMode`, `TRANSPARENT`, and `TRUE` [INFO] [stdout] --> src/modules/winproc.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | Foundation::{COLORREF, FALSE, HWND, LPARAM, LRESULT, RECT, TRUE, WPARAM}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | BeginPaint, CreateSolidBrush, EndPaint, FillRect, InvalidateRect, SetBkMode, HBRUSH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 12 | PAINTSTRUCT, RDW_INTERNALPAINT, RDW_INVALIDATE, TRANSPARENT, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/winproc.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | ($lparam: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] 27 | ($lparam:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/winproc.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | ($lparam: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($lparam:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/direct2d.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn capture_screen_to_bitmap() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/direct2d.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/win_fact.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/win_fact.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stdout] 170 | | instance.0 == 0 [INFO] [stdout] 171 | | })?; [INFO] [stdout] | |______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/modules/win_fact.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | fn create_window(&self, builder: &WindowBuilder) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> src/modules/win_fact.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | / handle_error( [INFO] [stdout] 253 | | "Changing Window Attributes failed", [INFO] [stdout] 254 | | ExpectedError::Win32, [INFO] [stdout] 255 | | || window.make_transparent().is_err(), [INFO] [stdout] 256 | | )?; [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hr` [INFO] [stdout] --> src/modules/direct2d.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::UI::WindowsAndMessaging::DefWindowProcW` is unsafe and requires unsafe block [INFO] [stdout] --> src/modules/win_fact.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | DefWindowProcW(hwnd, msg, wparam, lparam) [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/modules/win_fact.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | / unsafe extern "system" fn default_window_proc( [INFO] [stdout] 314 | | hwnd: HWND, [INFO] [stdout] 315 | | msg: u32, [INFO] [stdout] 316 | | wparam: WPARAM, [INFO] [stdout] 317 | | lparam: LPARAM, [INFO] [stdout] 318 | | ) -> LRESULT { [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: unused variable: `hdc` [INFO] [stdout] --> src/modules/winproc.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | let hdc = BeginPaint(window, &mut ps); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_updated_area` is never used [INFO] [stdout] --> src/modules/direct2d.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn draw_updated_area(win: HWND) -> Result<(), anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prop1` and `prop2` are never read [INFO] [stdout] --> src/modules/direct2d.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 148 | struct Direct2DFactory { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 149 | factory: ID2D1Factory, [INFO] [stdout] 150 | prop1: D2D1_RENDER_TARGET_PROPERTIES, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 151 | prop2: D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bitmap` is never read [INFO] [stdout] --> src/modules/direct2d.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 197 | struct BitmapConverter { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 198 | bitmap: IWICBitmap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nrwt` is never read [INFO] [stdout] --> src/modules/direct2d.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 234 | struct Renderer { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 238 | nrwt: ID2D1RenderTarget, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_updated_area` is never used [INFO] [stdout] --> src/modules/direct2d.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 245 | impl Renderer { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 278 | fn draw_updated_area(&self, window: HWND) -> Result<(), anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_hwnd`, `set_foreground`, `set_position`, and `draw_updated_area` are never used [INFO] [stdout] --> src/modules/win_fact.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Window { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 31 | pub fn get_hwnd(&self) -> HWND { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_foreground(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn set_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn draw_updated_area(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Main` is never constructed [INFO] [stdout] --> src/modules/win_fact.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum WindowType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 309 | Main, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindowType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/main.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | TranslateMessage(&msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = TranslateMessage(&msg); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/direct2d.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | if let Ok(renderer) = renderer_result { [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/modules/direct2d.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ match renderer_result { Ok(renderer) => { [INFO] [stdout] 124 | renderer.draw_bitmap(&bmps); [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | // Handle error [INFO] [stdout] 127 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | renderer.draw_bitmap(&bmps); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 124 | let _ = renderer.draw_bitmap(&bmps); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | GetUpdateRect(window, Some(&mut rect), FALSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 281 | let _ = GetUpdateRect(window, Some(&mut rect), FALSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/direct2d.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | ValidateRect(window, Some(&mut rect)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = ValidateRect(window, Some(&mut rect)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | SetForegroundWindow(self.hwnd); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = SetForegroundWindow(self.hwnd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | SetWindowPos(self.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 43 | let _ = SetWindowPos(self.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | ShowWindow(self.hwnd, SW_HIDE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 49 | let _ = ShowWindow(self.hwnd, SW_HIDE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | draw_updated_area(self.hwnd); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = draw_updated_area(self.hwnd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | draw_rectangle(self.hwnd, start, end); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 62 | let _ = draw_rectangle(self.hwnd, start, end); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/win_fact.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | ShowWindow(self.hwnd, SW_SHOW); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = ShowWindow(self.hwnd, SW_SHOW); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/win_fact.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let Err(e) = DestroyWindow(self.hwnd) { [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/modules/win_fact.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match DestroyWindow(self.hwnd) { Err(e) => { [INFO] [stdout] 111 | let error = anyhow::anyhow!("Error destroying window: {:?}", e); [INFO] [stdout] 112 | eprintln!("{}", error); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/winproc.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | if let Some(start) = *start_point { [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/modules/winproc.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | } [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 *start_point { Some(start) => { [INFO] [stdout] 59 | let end = D2D_POINT_2F { [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/winproc.rs:72:28 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(rect) = invalidated_rect.as_ref() { [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/modules/winproc.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ match invalidated_rect.as_ref() { Some(rect) => { [INFO] [stdout] 73 | let rect = RECT { [INFO] [stdout] ... [INFO] [stdout] 80 | RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] 81 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `BOOL` that must be used [INFO] [stdout] --> src/modules/winproc.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | ... RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 80 | let _ = RedrawWindow(window, Some(&rect), None, RDW_INTERNALPAINT); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 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 13.50s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking ocr v0.1.0 (/tmp/fixit) [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateRectRgn`, `D2D1_BITMAP_OPTIONS_CPU_READ`, `D2D1_DEVICE_CONTEXT_OPTIONS_NONE`, `D2D1_UNIT_MODE_PIXELS`, `Dxgi::*`, `ID2D1Bitmap1`, `SetWindowRgn`, and `TRUE` [INFO] [stdout] --> src/modules/direct2d.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | Foundation::{COLORREF, FALSE, HWND, RECT, TRUE}, [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | D2D1CreateFactory, ID2D1Bitmap, ID2D1Bitmap1, ID2D1DeviceContext, ID2D1Factory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1_BITMAP_OPTIONS_CPU_READ, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | D2D1_DEVICE_CONTEXT_OPTIONS_NONE, D2D1_FACTORY_OPTIONS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | D2D1_FACTORY_TYPE_SINGLE_THREADED, D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] 27 | D2D1_RENDER_TARGET_PROPERTIES, D2D1_UNIT_MODE_DIPS, D2D1_UNIT_MODE_PIXELS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Dxgi::*, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Gdi::{CreateRectRgn, GetUpdateRect, SetWindowRgn, ValidateRect}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateRectRgn`, `D2D1_BITMAP_OPTIONS_CPU_READ`, `D2D1_DEVICE_CONTEXT_OPTIONS_NONE`, `D2D1_UNIT_MODE_PIXELS`, `Dxgi::*`, `ID2D1Bitmap1`, `SetWindowRgn`, and `TRUE` [INFO] [stdout] --> src/modules/direct2d.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | Foundation::{COLORREF, FALSE, HWND, RECT, TRUE}, [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | D2D1CreateFactory, ID2D1Bitmap, ID2D1Bitmap1, ID2D1DeviceContext, ID2D1Factory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | D2D1_BITMAP_OPTIONS_CANNOT_DRAW, D2D1_BITMAP_OPTIONS_CPU_READ, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | D2D1_DEVICE_CONTEXT_OPTIONS_NONE, D2D1_FACTORY_OPTIONS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | D2D1_FACTORY_TYPE_SINGLE_THREADED, D2D1_HWND_RENDER_TARGET_PROPERTIES, [INFO] [stdout] 27 | D2D1_RENDER_TARGET_PROPERTIES, D2D1_UNIT_MODE_DIPS, D2D1_UNIT_MODE_PIXELS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Dxgi::*, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Gdi::{CreateRectRgn, GetUpdateRect, SetWindowRgn, ValidateRect}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/modules/winproc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/modules/winproc.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeleteObject` and `UpdateWindow` [INFO] [stdout] --> src/modules/winproc.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use windows::Win32::Graphics::Gdi::{DeleteObject, RedrawWindow, UpdateWindow}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeleteObject` and `UpdateWindow` [INFO] [stdout] --> src/modules/winproc.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use windows::Win32::Graphics::Gdi::{DeleteObject, RedrawWindow, UpdateWindow}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateSolidBrush`, `FALSE`, `FillRect`, `HBRUSH`, `InvalidateRect`, `RDW_INVALIDATE`, `SetBkMode`, `TRANSPARENT`, and `TRUE` [INFO] [stdout] --> src/modules/winproc.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | Foundation::{COLORREF, FALSE, HWND, LPARAM, LRESULT, RECT, TRUE, WPARAM}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | BeginPaint, CreateSolidBrush, EndPaint, FillRect, InvalidateRect, SetBkMode, HBRUSH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 12 | PAINTSTRUCT, RDW_INTERNALPAINT, RDW_INVALIDATE, TRANSPARENT, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `COLORREF`, `CreateSolidBrush`, `FALSE`, `FillRect`, `HBRUSH`, `InvalidateRect`, `RDW_INVALIDATE`, `SetBkMode`, `TRANSPARENT`, and `TRUE` [INFO] [stdout] --> src/modules/winproc.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | Foundation::{COLORREF, FALSE, HWND, LPARAM, LRESULT, RECT, TRUE, WPARAM}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | BeginPaint, CreateSolidBrush, EndPaint, FillRect, InvalidateRect, SetBkMode, HBRUSH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 12 | PAINTSTRUCT, RDW_INTERNALPAINT, RDW_INVALIDATE, TRANSPARENT, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | handle_error("DC error", ExpectedError::Win32, || hdc.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | handle_error("Comb DC error", ExpectedError::Win32, || h_dest.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | handle_error("Comb DC error", ExpectedError::Win32, || h_dest.0 == 0)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | / handle_error("Create Bitmap error", ExpectedError::Win32, || { [INFO] [stdout] 65 | | hb_desktop.0 == 0 [INFO] [stdout] 66 | | })?; [INFO] [stdout] | |__________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | / handle_error("Create Bitmap error", ExpectedError::Win32, || { [INFO] [stdout] 65 | | hb_desktop.0 == 0 [INFO] [stdout] 66 | | })?; [INFO] [stdout] | |__________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | / handle_error("Delete DC error", ExpectedError::Win32, || { [INFO] [stdout] 74 | | DeleteDC(h_dest).as_bool() == false [INFO] [stdout] 75 | | })?; [INFO] [stdout] | |__________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/direct2d.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | / handle_error("Delete DC error", ExpectedError::Win32, || { [INFO] [stdout] 74 | | DeleteDC(h_dest).as_bool() == false [INFO] [stdout] 75 | | })?; [INFO] [stdout] | |__________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stdout] 170 | | instance.0 == 0 [INFO] [stdout] 171 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | / handle_error("Failed to get module handle", ExpectedError::Win32, || { [INFO] [stdout] 170 | | instance.0 == 0 [INFO] [stdout] 171 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | / handle_error( [INFO] [stdout] 181 | | "Failed to register window class", [INFO] [stdout] 182 | | ExpectedError::Win32, [INFO] [stdout] 183 | | || RegisterClassW(&wc) == 0, [INFO] [stdout] 184 | | )?; [INFO] [stdout] | |_____________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | / handle_error( [INFO] [stdout] 181 | | "Failed to register window class", [INFO] [stdout] 182 | | ExpectedError::Win32, [INFO] [stdout] 183 | | || RegisterClassW(&wc) == 0, [INFO] [stdout] 184 | | )?; [INFO] [stdout] | |_____________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | / handle_error("No window procedure set", ExpectedError::Other, || { [INFO] [stdout] 187 | | wc.lpfnWndProc.is_none() [INFO] [stdout] 188 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | / handle_error("No window procedure set", ExpectedError::Other, || { [INFO] [stdout] 187 | | wc.lpfnWndProc.is_none() [INFO] [stdout] 188 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | / handle_error("Window creation failed", ExpectedError::Win32, || { [INFO] [stdout] 206 | | hwnd.0 == 0 [INFO] [stdout] 207 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | / handle_error("Window creation failed", ExpectedError::Win32, || { [INFO] [stdout] 206 | | hwnd.0 == 0 [INFO] [stdout] 207 | | })?; [INFO] [stdout] | |______________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | / handle_error( [INFO] [stdout] 253 | | "Changing Window Attributes failed", [INFO] [stdout] 254 | | ExpectedError::Win32, [INFO] [stdout] 255 | | || window.make_transparent().is_err(), [INFO] [stdout] 256 | | )?; [INFO] [stdout] | |_____________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: Default` is not satisfied [INFO] [stdout] --> src/modules/win_fact.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | / handle_error( [INFO] [stdout] 253 | | "Changing Window Attributes failed", [INFO] [stdout] 254 | | ExpectedError::Win32, [INFO] [stdout] 255 | | || window.make_transparent().is_err(), [INFO] [stdout] 256 | | )?; [INFO] [stdout] | |_____________^ the trait `Default` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `handle_error` [INFO] [stdout] --> src/modules/errorhandler.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn handle_error( [INFO] [stdout] | ------------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 16 | T: Default, // Annahme, dass T einen Standardwert hat, den wir im Erfolgsfall zurückgeben können. [INFO] [stdout] | ^^^^^^^ required by this bound in `handle_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hr` [INFO] [stdout] --> src/modules/direct2d.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hr` [INFO] [stdout] --> src/modules/direct2d.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let hr = unsafe { self.swapchain.Present(4, 0) }; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `windows::Win32::UI::WindowsAndMessaging::DefWindowProcW` is unsafe and requires unsafe block [INFO] [stdout] --> src/modules/win_fact.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | DefWindowProcW(hwnd, msg, wparam, lparam) [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/modules/win_fact.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | / unsafe extern "system" fn default_window_proc( [INFO] [stdout] 314 | | hwnd: HWND, [INFO] [stdout] 315 | | msg: u32, [INFO] [stdout] 316 | | wparam: WPARAM, [INFO] [stdout] 317 | | lparam: LPARAM, [INFO] [stdout] 318 | | ) -> LRESULT { [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 `windows::Win32::UI::WindowsAndMessaging::DefWindowProcW` is unsafe and requires unsafe block [INFO] [stdout] --> src/modules/win_fact.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | DefWindowProcW(hwnd, msg, wparam, lparam) [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/modules/win_fact.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | / unsafe extern "system" fn default_window_proc( [INFO] [stdout] 314 | | hwnd: HWND, [INFO] [stdout] 315 | | msg: u32, [INFO] [stdout] 316 | | wparam: WPARAM, [INFO] [stdout] 317 | | lparam: LPARAM, [INFO] [stdout] 318 | | ) -> LRESULT { [INFO] [stdout] | |____________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hdc` [INFO] [stdout] --> src/modules/winproc.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | let hdc = BeginPaint(window, &mut ps); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hdc` [INFO] [stdout] --> src/modules/winproc.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | let hdc = BeginPaint(window, &mut ps); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_hdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ocr` (bin "ocr" test) due to 10 previous errors; 7 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `ocr` (bin "ocr") due to 10 previous errors; 7 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" "8c4842fadfd514789162031b5616c1a81bdc318f68afbedfbf9ec827a4a98c03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c4842fadfd514789162031b5616c1a81bdc318f68afbedfbf9ec827a4a98c03", kill_on_drop: false }` [INFO] [stdout] 8c4842fadfd514789162031b5616c1a81bdc318f68afbedfbf9ec827a4a98c03