From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- .../max_suggested_slice_pattern_length/clippy.toml | 1 + .../index_refutable_slice.rs | 23 ++++++++++++++++++++++ .../index_refutable_slice.stderr | 22 +++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/clippy.toml create mode 100644 src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.rs create mode 100644 src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.stderr (limited to 'src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length') diff --git a/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/clippy.toml b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/clippy.toml new file mode 100644 index 000000000..78c7e63b4 --- /dev/null +++ b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/clippy.toml @@ -0,0 +1 @@ +max-suggested-slice-pattern-length = 8 diff --git a/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.rs b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.rs new file mode 100644 index 000000000..21849a14f --- /dev/null +++ b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.rs @@ -0,0 +1,23 @@ +#![deny(clippy::index_refutable_slice)] + +fn below_limit() { + let slice: Option<&[u32]> = Some(&[1, 2, 3]); + if let Some(slice) = slice { + // This would usually not be linted but is included now due to the + // index limit in the config file + println!("{}", slice[7]); + } +} + +fn above_limit() { + let slice: Option<&[u32]> = Some(&[1, 2, 3]); + if let Some(slice) = slice { + // This will not be linted as 8 is above the limit + println!("{}", slice[8]); + } +} + +fn main() { + below_limit(); + above_limit(); +} diff --git a/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.stderr b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.stderr new file mode 100644 index 000000000..d319e65d0 --- /dev/null +++ b/src/tools/clippy/tests/ui-toml/max_suggested_slice_pattern_length/index_refutable_slice.stderr @@ -0,0 +1,22 @@ +error: this binding can be a slice pattern to avoid indexing + --> $DIR/index_refutable_slice.rs:5:17 + | +LL | if let Some(slice) = slice { + | ^^^^^ + | +note: the lint level is defined here + --> $DIR/index_refutable_slice.rs:1:9 + | +LL | #![deny(clippy::index_refutable_slice)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +help: try using a slice pattern here + | +LL | if let Some([_, _, _, _, _, _, _, slice_7, ..]) = slice { + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +help: and replace the index expressions here + | +LL | println!("{}", slice_7); + | ~~~~~~~ + +error: aborting due to previous error + -- cgit v1.2.3