Cargo check works incorrectly?

I always thought that cargo check is for the purpose of checking if code is correct without actually building the app. But look at this (this is literally copied from my terminal):

Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
X@X /.../fullscreen (master)> cargo check
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
X@X ~/D/P/r/fullscreen (master)> cargo run
   Compiling fullscreen v0.1.0 (/.../fullscreen)
warning: unused import: `std::env::args`
  --> src/main.rs:22:5
   |
22 | use std::env::args;
   |     ^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

error[E0593]: closure is expected to take 2 arguments, but it takes 1 argument
   --> src/main.rs:117:20
    |
117 |     settings_event.connect_button_press_event(|a| {});
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ --- takes 1 argument
    |                    |
    |                    expected closure that takes 2 arguments

error: aborting due to previous error; 1 warning emitted

For more information about this error, try `rustc --explain E0593`.
error: could not compile `fullscreen`

To learn more, run the command again with --verbose.

That's unreadable. Put it in a codeblock. You are using a quote block.

That’s the intention, yes. So you might have hit a bug… are you able to provide more detail? Is this reproducible? Does it still happen after cargo clean?