Skip to content

Commit 0948932

Browse files
bors[bot]lnicola
andauthored
Merge #4026
4026: Omit more parameter hints in the presence of underscores r=matklad a=lnicola Fixes #4017. Co-authored-by: Laurențiu Nicola <[email protected]>
2 parents 162481d + 8a51a74 commit 0948932

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

crates/ra_ide/src/inlay_hints.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,8 @@ fn should_show_param_hint(
237237
) -> bool {
238238
if param_name.is_empty()
239239
|| is_argument_similar_to_param(argument, param_name)
240-
|| Some(param_name) == fn_signature.name.as_ref().map(String::as_str)
240+
|| Some(param_name.trim_start_matches('_'))
241+
== fn_signature.name.as_ref().map(|s| s.trim_start_matches('_'))
241242
{
242243
return false;
243244
}
@@ -255,6 +256,8 @@ fn should_show_param_hint(
255256

256257
fn is_argument_similar_to_param(argument: &ast::Expr, param_name: &str) -> bool {
257258
let argument_string = remove_ref(argument.clone()).syntax().to_string();
259+
let param_name = param_name.trim_start_matches('_');
260+
let argument_string = argument_string.trim_start_matches('_');
258261
argument_string.starts_with(&param_name) || argument_string.ends_with(&param_name)
259262
}
260263

@@ -1094,8 +1097,10 @@ struct Param {}
10941097
10951098
fn different_order(param: &Param) {}
10961099
fn different_order_mut(param: &mut Param) {}
1100+
fn has_underscore(_param: bool) {}
10971101
10981102
fn twiddle(twiddle: bool) {}
1103+
fn doo(_doo: bool) {}
10991104
11001105
fn main() {
11011106
let container: TestVarContainer = TestVarContainer { test_var: 42 };
@@ -1112,11 +1117,15 @@ fn main() {
11121117
test_processed.frob(false);
11131118
11141119
twiddle(true);
1120+
doo(true);
11151121
11161122
let param_begin: Param = Param {};
11171123
different_order(&param_begin);
11181124
different_order(&mut param_begin);
11191125
1126+
let param: bool = true;
1127+
has_underscore(param);
1128+
11201129
let a: f64 = 7.0;
11211130
let b: f64 = 4.0;
11221131
let _: f64 = a.div_euclid(b);

0 commit comments

Comments
 (0)