about summary refs log tree commit diff
path: root/src/tools/clippy
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-09-22 07:00:52 +0000
committerbors <bors@rust-lang.org>2023-09-22 07:00:52 +0000
commit8759de0a4935e677fdce99a849addea2d5318da9 (patch)
tree664c31b1d3f35009117be7c85a513945a5211ce6 /src/tools/clippy
parentaace2dfa37f4589b0071530d2ed7b352f6196704 (diff)
parentab168b6ef3b276d06fdf0aac236b9881841815ed (diff)
downloadrust-8759de0a4935e677fdce99a849addea2d5318da9.tar.gz
rust-8759de0a4935e677fdce99a849addea2d5318da9.zip
Auto merge of #114776 - fee1-dead-contrib:enable-effects-in-libcore, r=oli-obk
Enable effects for libcore

~~r? `@oli-obk~~`

forgot you are on vacation, oops
Diffstat (limited to 'src/tools/clippy')
-rw-r--r--src/tools/clippy/clippy_utils/src/ty/type_certainty/mod.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/tools/clippy/clippy_utils/src/ty/type_certainty/mod.rs b/src/tools/clippy/clippy_utils/src/ty/type_certainty/mod.rs
index dc7756533ac..4b06b12fb94 100644
--- a/src/tools/clippy/clippy_utils/src/ty/type_certainty/mod.rs
+++ b/src/tools/clippy/clippy_utils/src/ty/type_certainty/mod.rs
@@ -207,7 +207,8 @@ fn path_segment_certainty(
             // Checking `res_generics_def_id(..)` before calling `generics_of` avoids an ICE.
             if cx.tcx.res_generics_def_id(path_segment.res).is_some() {
                 let generics = cx.tcx.generics_of(def_id);
-                let lhs = if (parent_certainty.is_certain() || generics.parent_count == 0) && generics.params.is_empty()
+                let count = generics.params.len() - generics.host_effect_index.is_some() as usize;
+                let lhs = if (parent_certainty.is_certain() || generics.parent_count == 0) && count == 0
                 {
                     Certainty::Certain(None)
                 } else {
@@ -299,7 +300,7 @@ fn type_is_inferrable_from_arguments(cx: &LateContext<'_>, expr: &Expr<'_>) -> b
 
     // Check that all type parameters appear in the functions input types.
     (0..(generics.parent_count + generics.params.len()) as u32).all(|index| {
-        fn_sig
+        Some(index as usize) == generics.host_effect_index || fn_sig
             .inputs()
             .iter()
             .any(|input_ty| contains_param(*input_ty.skip_binder(), index))