Skip to content

Commit b7effe5

Browse files
committed
fix close parens position to move after field access
1 parent 21c09eb commit b7effe5

File tree

2 files changed

+5
-14
lines changed

2 files changed

+5
-14
lines changed

crates/ide-completion/src/completions/dot.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ pub(crate) fn complete_dot(
3737
is_field_access,
3838
);
3939

40-
if let DotAccessKind::Method { .. } = dot_access.kind {
41-
cov_mark::hit!(test_no_struct_field_completion_for_method_call);
42-
}
4340
complete_methods(ctx, receiver_ty, |func| acc.add_method(ctx, dot_access, func, None, None));
4441
}
4542

@@ -259,7 +256,6 @@ impl A {
259256

260257
#[test]
261258
fn test_no_struct_field_completion_for_method_call() {
262-
cov_mark::check!(test_no_struct_field_completion_for_method_call);
263259
check(
264260
r#"
265261
struct A { the_field: u32 }
@@ -1202,7 +1198,7 @@ fn foo() { S { va_field: 0, fn_field: || {} }.fi$0() }
12021198
"#,
12031199
r#"
12041200
struct S { va_field: u32, fn_field: fn() }
1205-
fn foo() { (S { va_field: 0, fn_field: || {} }).fn_field() }
1201+
fn foo() { (S { va_field: 0, fn_field: || {} }.fn_field)() }
12061202
"#,
12071203
);
12081204
}
@@ -1235,7 +1231,7 @@ fn foo() {
12351231
struct B(u32, fn())
12361232
fn foo() {
12371233
let b = B(0, || {});
1238-
(b).1()
1234+
(b.1)()
12391235
}
12401236
"#,
12411237
)

crates/ide-completion/src/render.rs

+3-8
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,8 @@ pub(crate) fn render_field(
167167
if !expected_fn_type {
168168
if let Some(receiver) = &dot_access.receiver {
169169
if let Some(receiver) = ctx.completion.sema.original_ast_node(receiver.clone()) {
170-
let range = receiver.syntax().text_range();
171-
builder.insert(range.start(), "(".to_string());
172-
builder.insert(range.end(), ")".to_string());
170+
builder.insert(receiver.syntax().text_range().start(), "(".to_string());
171+
builder.insert(ctx.source_range().end(), ")".to_string());
173172
}
174173
}
175174

@@ -1676,11 +1675,7 @@ fn foo(f: Foo) { let _: &u32 = f.b$0 }
16761675
delete: 107..107,
16771676
},
16781677
Indel {
1679-
insert: ")",
1680-
delete: 108..108,
1681-
},
1682-
Indel {
1683-
insert: "qux()",
1678+
insert: "qux)()",
16841679
delete: 109..110,
16851680
},
16861681
],

0 commit comments

Comments
 (0)