diff options
| author | bors <bors@rust-lang.org> | 2024-03-09 21:23:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-03-09 21:23:38 +0000 |
| commit | 7ee75f896fd2b16cc06b0557e94e19a569c51701 (patch) | |
| tree | 9496558d90196ecc75e659dd6a9998ee89c22aef | |
| parent | d8a9068e8369a6ef454581b5f07d2caadfc62109 (diff) | |
| parent | b44ab661568d3fc6070fe9c6e3ff87dc7884ceb2 (diff) | |
| download | rust-7ee75f896fd2b16cc06b0557e94e19a569c51701.tar.gz rust-7ee75f896fd2b16cc06b0557e94e19a569c51701.zip | |
Auto merge of #12447 - MarcusGrass:mg/fix-12438-regression, r=y21
Fix #12438 std_instead_of_core regression Fixes #12438. Boy-scouting removed two paths that checks for duplication since I thought they were unused. However, that's just because I didn't spot it in the diff. I installed [difftastic](https://github.com/Wilfred/difftastic) and ran it on the old one:  And the new one (fixed):  New one (stderr):  Good teachings for the future when inspecting diffs with a lot of line changes, should've thought of that before, sorry for the trouble! changelog: [`std_instead_of_core`] Fix false positive for crates that are in `std` but not `core`
| -rw-r--r-- | clippy_lints/src/std_instead_of_core.rs | 2 | ||||
| -rw-r--r-- | tests/ui/std_instead_of_core.fixed | 2 | ||||
| -rw-r--r-- | tests/ui/std_instead_of_core.stderr | 8 |
3 files changed, 4 insertions, 8 deletions
diff --git a/clippy_lints/src/std_instead_of_core.rs b/clippy_lints/src/std_instead_of_core.rs index c0e4f3c368a..cf839941123 100644 --- a/clippy_lints/src/std_instead_of_core.rs +++ b/clippy_lints/src/std_instead_of_core.rs @@ -109,6 +109,7 @@ impl<'tcx> LateLintPass<'tcx> for StdReexports { sym::core => (STD_INSTEAD_OF_CORE, "std", "core"), sym::alloc => (STD_INSTEAD_OF_ALLOC, "std", "alloc"), _ => { + self.prev_span = first_segment.ident.span; return; }, }, @@ -116,6 +117,7 @@ impl<'tcx> LateLintPass<'tcx> for StdReexports { if cx.tcx.crate_name(def_id.krate) == sym::core { (ALLOC_INSTEAD_OF_CORE, "alloc", "core") } else { + self.prev_span = first_segment.ident.span; return; } }, diff --git a/tests/ui/std_instead_of_core.fixed b/tests/ui/std_instead_of_core.fixed index 0a734a65d29..ec4ae2ea13c 100644 --- a/tests/ui/std_instead_of_core.fixed +++ b/tests/ui/std_instead_of_core.fixed @@ -17,7 +17,7 @@ fn std_instead_of_core() { use ::core::hash::Hash; //~^ ERROR: used import from `std` instead of `core` // Don't lint on `env` macro - use core::env; + use std::env; // Multiple imports use core::fmt::{Debug, Result}; diff --git a/tests/ui/std_instead_of_core.stderr b/tests/ui/std_instead_of_core.stderr index ee42b474a32..8f920511cc5 100644 --- a/tests/ui/std_instead_of_core.stderr +++ b/tests/ui/std_instead_of_core.stderr @@ -14,12 +14,6 @@ LL | use ::std::hash::Hash; | ^^^ help: consider importing the item from `core`: `core` error: used import from `std` instead of `core` - --> tests/ui/std_instead_of_core.rs:20:9 - | -LL | use std::env; - | ^^^ help: consider importing the item from `core`: `core` - -error: used import from `std` instead of `core` --> tests/ui/std_instead_of_core.rs:23:9 | LL | use std::fmt::{Debug, Result}; @@ -85,5 +79,5 @@ LL | use alloc::slice::from_ref; = note: `-D clippy::alloc-instead-of-core` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::alloc_instead_of_core)]` -error: aborting due to 13 previous errors +error: aborting due to 12 previous errors |
