mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-06 04:08:40 +00:00
Omit more parameter hints in the presence of underscores
This commit is contained in:
parent
179d983535
commit
8a51a74556
@ -237,7 +237,8 @@ fn should_show_param_hint(
|
|||||||
) -> bool {
|
) -> bool {
|
||||||
if param_name.is_empty()
|
if param_name.is_empty()
|
||||||
|| is_argument_similar_to_param(argument, param_name)
|
|| is_argument_similar_to_param(argument, param_name)
|
||||||
|| Some(param_name) == fn_signature.name.as_ref().map(String::as_str)
|
|| Some(param_name.trim_start_matches('_'))
|
||||||
|
== fn_signature.name.as_ref().map(|s| s.trim_start_matches('_'))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -255,6 +256,8 @@ fn should_show_param_hint(
|
|||||||
|
|
||||||
fn is_argument_similar_to_param(argument: &ast::Expr, param_name: &str) -> bool {
|
fn is_argument_similar_to_param(argument: &ast::Expr, param_name: &str) -> bool {
|
||||||
let argument_string = remove_ref(argument.clone()).syntax().to_string();
|
let argument_string = remove_ref(argument.clone()).syntax().to_string();
|
||||||
|
let param_name = param_name.trim_start_matches('_');
|
||||||
|
let argument_string = argument_string.trim_start_matches('_');
|
||||||
argument_string.starts_with(¶m_name) || argument_string.ends_with(¶m_name)
|
argument_string.starts_with(¶m_name) || argument_string.ends_with(¶m_name)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1094,8 +1097,10 @@ struct Param {}
|
|||||||
|
|
||||||
fn different_order(param: &Param) {}
|
fn different_order(param: &Param) {}
|
||||||
fn different_order_mut(param: &mut Param) {}
|
fn different_order_mut(param: &mut Param) {}
|
||||||
|
fn has_underscore(_param: bool) {}
|
||||||
|
|
||||||
fn twiddle(twiddle: bool) {}
|
fn twiddle(twiddle: bool) {}
|
||||||
|
fn doo(_doo: bool) {}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let container: TestVarContainer = TestVarContainer { test_var: 42 };
|
let container: TestVarContainer = TestVarContainer { test_var: 42 };
|
||||||
@ -1112,11 +1117,15 @@ fn main() {
|
|||||||
test_processed.frob(false);
|
test_processed.frob(false);
|
||||||
|
|
||||||
twiddle(true);
|
twiddle(true);
|
||||||
|
doo(true);
|
||||||
|
|
||||||
let param_begin: Param = Param {};
|
let param_begin: Param = Param {};
|
||||||
different_order(¶m_begin);
|
different_order(¶m_begin);
|
||||||
different_order(&mut param_begin);
|
different_order(&mut param_begin);
|
||||||
|
|
||||||
|
let param: bool = true;
|
||||||
|
has_underscore(param);
|
||||||
|
|
||||||
let a: f64 = 7.0;
|
let a: f64 = 7.0;
|
||||||
let b: f64 = 4.0;
|
let b: f64 = 4.0;
|
||||||
let _: f64 = a.div_euclid(b);
|
let _: f64 = a.div_euclid(b);
|
||||||
|
Loading…
Reference in New Issue
Block a user