Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 6027eae

Browse files
committed
Fix Tests + Fix Warnings
1 parent b45cfe1 commit 6027eae

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

crates/ide-diagnostics/src/handlers/unresolved_field.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,11 @@ pub(crate) fn unresolved_field(
5050
}
5151

5252
fn fixes(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Option<Vec<Assist>> {
53-
if d.method_with_same_name_exists {
54-
let mut method_fix = method_fix(ctx, &d.expr).unwrap_or_default();
55-
method_fix.push(add_field_fix(ctx, d)?);
56-
Some(method_fix)
57-
} else {
58-
Some(vec![add_field_fix(ctx, d)?])
53+
let mut fixes = if d.method_with_same_name_exists { method_fix(ctx, &d.expr) } else { None };
54+
if let Some(fix) = add_field_fix(ctx, d) {
55+
fixes.get_or_insert_with(Vec::new).push(fix);
5956
}
57+
fixes
6058
}
6159

6260
fn add_field_fix(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Option<Assist> {
@@ -77,7 +75,7 @@ fn add_field_fix(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Opti
7775
if let Some(new_field_type) = ctx.sema.type_of_expr(&expr).map(|v| v.adjusted()) {
7876
let display =
7977
new_field_type.display_source_code(ctx.sema.db, target_module.into(), true).ok();
80-
make::ty(display.as_deref().unwrap_or_else(|| "()"))
78+
make::ty(display.as_deref().unwrap_or("()"))
8179
} else {
8280
make::ty("()")
8381
};
@@ -106,7 +104,7 @@ fn add_field_fix(ctx: &DiagnosticsContext<'_>, d: &hir::UnresolvedField) -> Opti
106104
}
107105
None => {
108106
// Empty Struct. Add a field right before the closing brace
109-
let indent = IndentLevel::from_node(&adt_syntax.value) + 1;
107+
let indent = IndentLevel::from_node(adt_syntax.value) + 1;
110108
let record_field_list =
111109
adt_syntax.value.children().find(|v| v.kind() == SyntaxKind::RECORD_FIELD_LIST)?;
112110
let offset = record_field_list.first_token().map(|f| f.text_range().end())?;

0 commit comments

Comments
 (0)