Cargo wrapper which limits compiler messages number. Error messages come first.
cargo install cargo-limit
Run any of these in your project:
cargo lbench [--limit-messages=N]
cargo lbuild [--limit-messages=N]
cargo lcheck [--limit-messages=N]
cargo lclippy [--limit-messages=N]
cargo lrun [--limit-messages=N]
cargo ltest [--limit-messages=N]
It's a workaround for this issue. Consider a program: ```rust fn f() -> Result<(), ()> { Ok(()) }
fn main() { let mut i: u32 = 0; i -= 1; f(); println!("Hello world"); } ```
It's counterproductive to read this kind of compiler noise in attempt to run the program:
``
$ cargo run
Compiling hello v0.1.0 (/tmp/hello)
warning: variable
iis assigned to, but never used
--> src/main.rs:6:9
|
6 | let mut i: u32 = 0;
| ^^^^^
|
= note:
#[warn(unusedvariables)]on by default
= note: consider using
i` instead
warning: value assigned to i
is never read
--> src/main.rs:7:5
|
7 | i -= 1;
| ^
|
= note: #[warn(unused_assignments)]
on by default
= help: maybe it is overwritten before being read?
warning: unused std::result::Result
that must be used
--> src/main.rs:8:5
|
8 | f();
| ^^^^
|
= note: #[warn(unused_must_use)]
on by default
= note: this Result
may be an Err
variant, which should be handled
error: this arithmetic operation will overflow
--> src/main.rs:7:5
|
7 | i -= 1;
| ^^^^^^ attempt to compute 0_u32 - 1_u32
which would overflow
|
= note: #[deny(arithmetic_overflow)]
on by default
error: aborting due to previous error; 3 warnings emitted
error: could not compile hello
.
To learn more, run the command again with --verbose. ```
All we want on this development iteration is to focus on this error:
``
$ cargo lrun
Compiling hello v0.1.0 (/tmp/hello)
error: this arithmetic operation will overflow
--> src/main.rs:7:5
|
7 | i -= 1;
| ^^^^^^ attempt to compute
0u32 - 1u32which would overflow
|
= note:
#[deny(arithmetic_overflow)]` on by default
error: could not compile hello
.
To learn more, run the command again with --verbose. ```
MIT/Apache-2.0