mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 05:33:27 +00:00
unused_io_amount: Use span_lint_and_help.
This improves the quality of the genrated output and makes it more in line with other lint messages. changelog: [`unused_io_amount`]: Improve help text
This commit is contained in:
parent
65d1f83d2c
commit
b6bcf0c51b
2 changed files with 58 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
|||
use clippy_utils::diagnostics::span_lint;
|
||||
use clippy_utils::diagnostics::{span_lint, span_lint_and_help};
|
||||
use clippy_utils::{is_try, match_trait_method, paths};
|
||||
use rustc_hir as hir;
|
||||
use rustc_lint::{LateContext, LateLintPass};
|
||||
|
@ -126,32 +126,40 @@ fn check_method_call(cx: &LateContext<'_>, call: &hir::Expr<'_>, expr: &hir::Exp
|
|||
};
|
||||
|
||||
match (read_trait, write_trait, symbol, is_await) {
|
||||
(true, _, "read", false) => span_lint(
|
||||
(true, _, "read", false) => span_lint_and_help(
|
||||
cx,
|
||||
UNUSED_IO_AMOUNT,
|
||||
expr.span,
|
||||
"read amount is not handled. Use `Read::read_exact` instead",
|
||||
"read amount is not handled",
|
||||
None,
|
||||
"use `Read::read_exact` instead, or handle partial reads",
|
||||
),
|
||||
(true, _, "read", true) => span_lint(
|
||||
(true, _, "read", true) => span_lint_and_help(
|
||||
cx,
|
||||
UNUSED_IO_AMOUNT,
|
||||
expr.span,
|
||||
"read amount is not handled. Use `AsyncReadExt::read_exact` instead",
|
||||
"read amount is not handled",
|
||||
None,
|
||||
"use `AsyncReadExt::read_exact` instead, or handle partial reads",
|
||||
),
|
||||
(true, _, "read_vectored", _) => {
|
||||
span_lint(cx, UNUSED_IO_AMOUNT, expr.span, "read amount is not handled");
|
||||
},
|
||||
(_, true, "write", false) => span_lint(
|
||||
(_, true, "write", false) => span_lint_and_help(
|
||||
cx,
|
||||
UNUSED_IO_AMOUNT,
|
||||
expr.span,
|
||||
"written amount is not handled. Use `Write::write_all` instead",
|
||||
"written amount is not handled",
|
||||
None,
|
||||
"use `Write::write_all` instead, or handle partial writes",
|
||||
),
|
||||
(_, true, "write", true) => span_lint(
|
||||
(_, true, "write", true) => span_lint_and_help(
|
||||
cx,
|
||||
UNUSED_IO_AMOUNT,
|
||||
expr.span,
|
||||
"written amount is not handled. Use `AsyncWriteExt::write_all` instead",
|
||||
"written amount is not handled",
|
||||
None,
|
||||
"use `AsyncWriteExt::write_all` instead, or handle partial writes",
|
||||
),
|
||||
(_, true, "write_vectored", _) => {
|
||||
span_lint(cx, UNUSED_IO_AMOUNT, expr.span, "written amount is not handled");
|
||||
|
|
|
@ -1,28 +1,35 @@
|
|||
error: written amount is not handled. Use `Write::write_all` instead
|
||||
error: written amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:9:5
|
||||
|
|
||||
LL | s.write(b"test")?;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `-D clippy::unused-io-amount` implied by `-D warnings`
|
||||
= help: use `Write::write_all` instead, or handle partial writes
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:11:5
|
||||
|
|
||||
LL | s.read(&mut buf)?;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: written amount is not handled. Use `Write::write_all` instead
|
||||
error: written amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:16:5
|
||||
|
|
||||
LL | s.write(b"test").unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Write::write_all` instead, or handle partial writes
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:18:5
|
||||
|
|
||||
LL | s.read(&mut buf).unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:22:5
|
||||
|
@ -36,25 +43,31 @@ error: written amount is not handled
|
|||
LL | s.write_vectored(&[io::IoSlice::new(&[])])?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:30:5
|
||||
|
|
||||
LL | reader.read(&mut result).ok()?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:39:5
|
||||
|
|
||||
LL | reader.read(&mut result).or_else(|err| Err(err))?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:51:5
|
||||
|
|
||||
LL | reader.read(&mut result).or(Err(Error::Kind))?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: read amount is not handled. Use `Read::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:58:5
|
||||
|
|
||||
LL | / reader
|
||||
|
@ -63,42 +76,56 @@ LL | | .or(Err(Error::Kind))
|
|||
LL | | .or(Err(Error::Kind))
|
||||
LL | | .expect("error");
|
||||
| |________________________^
|
||||
|
|
||||
= help: use `Read::read_exact` instead, or handle partial reads
|
||||
|
||||
error: written amount is not handled. Use `AsyncWriteExt::write_all` instead
|
||||
error: written amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:67:5
|
||||
|
|
||||
LL | w.write(b"hello world").await.unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncWriteExt::write_all` instead, or handle partial writes
|
||||
|
||||
error: read amount is not handled. Use `AsyncReadExt::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:72:5
|
||||
|
|
||||
LL | r.read(&mut buf[..]).await.unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncReadExt::read_exact` instead, or handle partial reads
|
||||
|
||||
error: written amount is not handled. Use `AsyncWriteExt::write_all` instead
|
||||
error: written amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:85:9
|
||||
|
|
||||
LL | w.write(b"hello world").await?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncWriteExt::write_all` instead, or handle partial writes
|
||||
|
||||
error: read amount is not handled. Use `AsyncReadExt::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:93:9
|
||||
|
|
||||
LL | r.read(&mut buf[..]).await.or(Err(Error::Kind))?;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncReadExt::read_exact` instead, or handle partial reads
|
||||
|
||||
error: written amount is not handled. Use `AsyncWriteExt::write_all` instead
|
||||
error: written amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:101:5
|
||||
|
|
||||
LL | w.write(b"hello world").await.unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncWriteExt::write_all` instead, or handle partial writes
|
||||
|
||||
error: read amount is not handled. Use `AsyncReadExt::read_exact` instead
|
||||
error: read amount is not handled
|
||||
--> $DIR/unused_io_amount.rs:106:5
|
||||
|
|
||||
LL | r.read(&mut buf[..]).await.unwrap();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: use `AsyncReadExt::read_exact` instead, or handle partial reads
|
||||
|
||||
error: aborting due to 16 previous errors
|
||||
|
||||
|
|
Loading…
Reference in a new issue