diff options
| author | Michael Goulet <michael@errs.io> | 2024-02-08 21:46:23 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-07-18 16:51:05 -0400 |
| commit | d325fb7c2ead82d2da43e74a1936957546c695e4 (patch) | |
| tree | 27a747bc6e28781f1b1131ff512cc76a93932452 | |
| parent | d4fa5648c39ec50821eb7e0ef36c62adbbe7cd2b (diff) | |
| download | rust-d325fb7c2ead82d2da43e74a1936957546c695e4.tar.gz rust-d325fb7c2ead82d2da43e74a1936957546c695e4.zip | |
Make clippy and rustdoc happy
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/inherent_impl.rs | 15 | ||||
| -rw-r--r-- | tests/rustdoc/anchor-id-duplicate-method-name-25001.rs | 4 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/tools/clippy/clippy_lints/src/inherent_impl.rs b/src/tools/clippy/clippy_lints/src/inherent_impl.rs index 95ae591884b..0d3786dad4b 100644 --- a/src/tools/clippy/clippy_lints/src/inherent_impl.rs +++ b/src/tools/clippy/clippy_lints/src/inherent_impl.rs @@ -56,19 +56,18 @@ impl<'tcx> LateLintPass<'tcx> for MultipleInherentImpl { let Ok(impls) = cx.tcx.crate_inherent_impls(()) else { return; }; - let inherent_impls = cx - .tcx - .with_stable_hashing_context(|hcx| impls.inherent_impls.to_sorted(&hcx, true)); - for (_, impl_ids) in inherent_impls.into_iter().filter(|(&id, impls)| { - impls.len() > 1 + for (&id, impl_ids) in &impls.inherent_impls { + if impl_ids.len() < 2 // Check for `#[allow]` on the type definition - && !is_lint_allowed( + || is_lint_allowed( cx, MULTIPLE_INHERENT_IMPL, cx.tcx.local_def_id_to_hir_id(id), - ) - }) { + ) { + continue; + } + for impl_id in impl_ids.iter().map(|id| id.expect_local()) { let impl_ty = cx.tcx.type_of(impl_id).instantiate_identity(); match type_map.entry(impl_ty) { diff --git a/tests/rustdoc/anchor-id-duplicate-method-name-25001.rs b/tests/rustdoc/anchor-id-duplicate-method-name-25001.rs index 5fa6891b23d..e1f19e7e017 100644 --- a/tests/rustdoc/anchor-id-duplicate-method-name-25001.rs +++ b/tests/rustdoc/anchor-id-duplicate-method-name-25001.rs @@ -24,14 +24,14 @@ impl Foo<u32> { } impl<T> Bar for Foo<T> { - //@ has - '//*[@id="associatedtype.Item-1"]//h4[@class="code-header"]' 'type Item = T' + // @has - '//*[@id="associatedtype.Item"]//h4[@class="code-header"]' 'type Item = T' type Item=T; //@ has - '//*[@id="method.quux"]//h4[@class="code-header"]' 'fn quux(self)' fn quux(self) {} } impl<'a, T> Bar for &'a Foo<T> { - //@ has - '//*[@id="associatedtype.Item"]//h4[@class="code-header"]' "type Item = &'a T" + // @has - '//*[@id="associatedtype.Item-1"]//h4[@class="code-header"]' "type Item = &'a T" type Item=&'a T; //@ has - '//*[@id="method.quux-1"]//h4[@class="code-header"]' 'fn quux(self)' |
