aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_assists/src/assists/auto_import.rs7
-rw-r--r--crates/ra_ide/src/inlay_hints.rs16
2 files changed, 11 insertions, 12 deletions
diff --git a/crates/ra_assists/src/assists/auto_import.rs b/crates/ra_assists/src/assists/auto_import.rs
index 7fd1f0e7d..e908ab1fc 100644
--- a/crates/ra_assists/src/assists/auto_import.rs
+++ b/crates/ra_assists/src/assists/auto_import.rs
@@ -1,7 +1,6 @@
1use hir::{db::HirDatabase, ModPath}; 1use hir::{db::HirDatabase, ModPath};
2use ra_syntax::{ 2use ra_syntax::{
3 ast::{self, AstNode}, 3 ast::{self, AstNode},
4 SyntaxKind::{NAME_REF, USE_ITEM},
5 SyntaxNode, 4 SyntaxNode,
6}; 5};
7 6
@@ -33,11 +32,11 @@ pub(crate) fn auto_import<F: ImportsLocator>(
33) -> Option<Assist> { 32) -> Option<Assist> {
34 let path_to_import: ast::Path = ctx.find_node_at_offset()?; 33 let path_to_import: ast::Path = ctx.find_node_at_offset()?;
35 let path_to_import_syntax = path_to_import.syntax(); 34 let path_to_import_syntax = path_to_import.syntax();
36 if path_to_import_syntax.ancestors().find(|ancestor| ancestor.kind() == USE_ITEM).is_some() { 35 if path_to_import_syntax.ancestors().find_map(ast::UseItem::cast).is_some() {
37 return None; 36 return None;
38 } 37 }
39 let name_to_import = 38 let name_to_import =
40 path_to_import_syntax.descendants().find(|child| child.kind() == NAME_REF)?; 39 path_to_import_syntax.descendants().find_map(ast::NameRef::cast)?.syntax().to_string();
41 40
42 let module = path_to_import_syntax.ancestors().find_map(ast::Module::cast); 41 let module = path_to_import_syntax.ancestors().find_map(ast::Module::cast);
43 let position = match module.and_then(|it| it.item_list()) { 42 let position = match module.and_then(|it| it.item_list()) {
@@ -54,7 +53,7 @@ pub(crate) fn auto_import<F: ImportsLocator>(
54 } 53 }
55 54
56 let proposed_imports = imports_locator 55 let proposed_imports = imports_locator
57 .find_imports(&name_to_import.to_string()) 56 .find_imports(&name_to_import)
58 .into_iter() 57 .into_iter()
59 .filter_map(|module_def| module_with_name_to_import.find_use_path(ctx.db, module_def)) 58 .filter_map(|module_def| module_with_name_to_import.find_use_path(ctx.db, module_def))
60 .filter(|use_path| !use_path.segments.is_empty()) 59 .filter(|use_path| !use_path.segments.is_empty())
diff --git a/crates/ra_ide/src/inlay_hints.rs b/crates/ra_ide/src/inlay_hints.rs
index 393ca9447..de447a5aa 100644
--- a/crates/ra_ide/src/inlay_hints.rs
+++ b/crates/ra_ide/src/inlay_hints.rs
@@ -376,7 +376,7 @@ fn main() {
376 let mut start = 0; 376 let mut start = 0;
377 (0..2).for_each(|increment| { 377 (0..2).for_each(|increment| {
378 start += increment; 378 start += increment;
379 }) 379 });
380 380
381 let multiply = |a, b, c, d| a * b * c * d; 381 let multiply = |a, b, c, d| a * b * c * d;
382 let _: i32 = multiply(1, 2, 3, 4); 382 let _: i32 = multiply(1, 2, 3, 4);
@@ -399,37 +399,37 @@ fn main() {
399 label: "i32", 399 label: "i32",
400 }, 400 },
401 InlayHint { 401 InlayHint {
402 range: [114; 122), 402 range: [115; 123),
403 kind: TypeHint, 403 kind: TypeHint,
404 label: "|…| -> i32", 404 label: "|…| -> i32",
405 }, 405 },
406 InlayHint { 406 InlayHint {
407 range: [126; 127), 407 range: [127; 128),
408 kind: TypeHint, 408 kind: TypeHint,
409 label: "i32", 409 label: "i32",
410 }, 410 },
411 InlayHint { 411 InlayHint {
412 range: [129; 130), 412 range: [130; 131),
413 kind: TypeHint, 413 kind: TypeHint,
414 label: "i32", 414 label: "i32",
415 }, 415 },
416 InlayHint { 416 InlayHint {
417 range: [132; 133), 417 range: [133; 134),
418 kind: TypeHint, 418 kind: TypeHint,
419 label: "i32", 419 label: "i32",
420 }, 420 },
421 InlayHint { 421 InlayHint {
422 range: [135; 136), 422 range: [136; 137),
423 kind: TypeHint, 423 kind: TypeHint,
424 label: "i32", 424 label: "i32",
425 }, 425 },
426 InlayHint { 426 InlayHint {
427 range: [200; 212), 427 range: [201; 213),
428 kind: TypeHint, 428 kind: TypeHint,
429 label: "&|…| -> i32", 429 label: "&|…| -> i32",
430 }, 430 },
431 InlayHint { 431 InlayHint {
432 range: [235; 244), 432 range: [236; 245),
433 kind: TypeHint, 433 kind: TypeHint,
434 label: "|| -> i32", 434 label: "|| -> i32",
435 }, 435 },