mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-25 13:24:22 +00:00
Merge #849
849: Don't render `()` in calls to assoc functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
a725dd4f7a
@ -137,6 +137,13 @@ impl<'a> CompletionContext<'a> {
|
||||
};
|
||||
if let Some(segment) = ast::PathSegment::cast(parent) {
|
||||
let path = segment.parent_path();
|
||||
self.is_call = path
|
||||
.syntax()
|
||||
.parent()
|
||||
.and_then(ast::PathExpr::cast)
|
||||
.and_then(|it| it.syntax().parent().and_then(ast::CallExpr::cast))
|
||||
.is_some();
|
||||
|
||||
if let Some(mut path) = hir::Path::from_ast(path) {
|
||||
if !path.is_ident() {
|
||||
path.segments.pop().unwrap();
|
||||
@ -176,12 +183,6 @@ impl<'a> CompletionContext<'a> {
|
||||
}
|
||||
}
|
||||
}
|
||||
self.is_call = path
|
||||
.syntax()
|
||||
.parent()
|
||||
.and_then(ast::PathExpr::cast)
|
||||
.and_then(|it| it.syntax().parent().and_then(ast::CallExpr::cast))
|
||||
.is_some()
|
||||
}
|
||||
if let Some(field_expr) = ast::FieldExpr::cast(parent) {
|
||||
// The receiver comes before the point of insertion of the fake
|
||||
|
@ -427,6 +427,17 @@ mod tests {
|
||||
frob<|>();
|
||||
}
|
||||
",
|
||||
);
|
||||
check_reference_completion(
|
||||
"dont_render_function_parens_if_already_call_assoc_fn",
|
||||
"
|
||||
//- /lib.rs
|
||||
struct Foo {}
|
||||
impl Foo { fn new() -> Foo {} }
|
||||
fn main() {
|
||||
Foo::ne<|>();
|
||||
}
|
||||
",
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,24 @@
|
||||
---
|
||||
created: "2019-02-17T18:29:14.513213526Z"
|
||||
creator: insta@0.6.2
|
||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
||||
expression: kind_completions
|
||||
---
|
||||
[
|
||||
CompletionItem {
|
||||
completion_kind: Reference,
|
||||
label: "new",
|
||||
kind: Some(
|
||||
Method
|
||||
),
|
||||
detail: Some(
|
||||
"fn new() -> Foo"
|
||||
),
|
||||
documentation: None,
|
||||
lookup: None,
|
||||
insert_text: None,
|
||||
insert_text_format: PlainText,
|
||||
source_range: [67; 69),
|
||||
text_edit: None
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user