@@ -235,7 +235,10 @@ fn should_show_param_hint(
235235 param_name : & str ,
236236 argument : & ast:: Expr ,
237237) -> bool {
238- if param_name. is_empty ( ) || is_argument_similar_to_param ( argument, param_name) {
238+ if param_name. is_empty ( )
239+ || is_argument_similar_to_param ( argument, param_name)
240+ || Some ( param_name) == fn_signature. name . as_ref ( ) . map ( String :: as_str)
241+ {
239242 return false ;
240243 }
241244
@@ -247,10 +250,7 @@ fn should_show_param_hint(
247250
248251 // avoid displaying hints for common functions like map, filter, etc.
249252 // or other obvious words used in std
250- if parameters_len == 1 && is_obvious_param ( param_name) {
251- return false ;
252- }
253- true
253+ parameters_len != 1 || !is_obvious_param ( param_name)
254254}
255255
256256fn is_argument_similar_to_param ( argument : & ast:: Expr , param_name : & str ) -> bool {
@@ -1086,13 +1086,17 @@ impl Test {
10861086 }
10871087
10881088 fn no_hints_expected(&self, _: i32, test_var: i32) {}
1089+
1090+ fn frob(&self, frob: bool) {}
10891091}
10901092
10911093struct Param {}
10921094
10931095fn different_order(param: &Param) {}
10941096fn different_order_mut(param: &mut Param) {}
10951097
1098+ fn twiddle(twiddle: bool) {}
1099+
10961100fn main() {
10971101 let container: TestVarContainer = TestVarContainer { test_var: 42 };
10981102 let test: Test = Test {};
@@ -1105,6 +1109,9 @@ fn main() {
11051109 let test_var: i32 = 55;
11061110 test_processed.no_hints_expected(22, test_var);
11071111 test_processed.no_hints_expected(33, container.test_var);
1112+ test_processed.frob(false);
1113+
1114+ twiddle(true);
11081115
11091116 let param_begin: Param = Param {};
11101117 different_order(¶m_begin);
0 commit comments