diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-01-26 11:23:22 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2020-01-26 11:23:22 +0000 |
commit | 13743d10734018b1765b26993044cd4f455fff5a (patch) | |
tree | b2ff870edfe1557e8601d682cd34f828444c622c /crates | |
parent | adda6dbdf86afac34dc8710965de0018501bbe84 (diff) | |
parent | ec6a7f07106e9d90c5d947f726cf9958a31c1d8f (diff) |
Merge #2907
2907: fixed inline_local_variable bug #2900 r=matklad a=TomasKralCZ
This also affects issues like #2666.
Co-authored-by: Tomáš <[email protected]>
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_assists/src/assists/inline_local_variable.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/ra_assists/src/assists/inline_local_variable.rs b/crates/ra_assists/src/assists/inline_local_variable.rs index d0c5c3b8c..83527d904 100644 --- a/crates/ra_assists/src/assists/inline_local_variable.rs +++ b/crates/ra_assists/src/assists/inline_local_variable.rs | |||
@@ -47,6 +47,9 @@ pub(crate) fn inline_local_variable(ctx: AssistCtx<impl HirDatabase>) -> Option< | |||
47 | }; | 47 | }; |
48 | let analyzer = ctx.source_analyzer(bind_pat.syntax(), None); | 48 | let analyzer = ctx.source_analyzer(bind_pat.syntax(), None); |
49 | let refs = analyzer.find_all_refs(&bind_pat); | 49 | let refs = analyzer.find_all_refs(&bind_pat); |
50 | if refs.is_empty() { | ||
51 | return None; | ||
52 | }; | ||
50 | 53 | ||
51 | let mut wrap_in_parens = vec![true; refs.len()]; | 54 | let mut wrap_in_parens = vec![true; refs.len()]; |
52 | 55 | ||
@@ -645,4 +648,16 @@ fn foo() { | |||
645 | }", | 648 | }", |
646 | ); | 649 | ); |
647 | } | 650 | } |
651 | |||
652 | #[test] | ||
653 | fn test_not_applicable_if_variable_unused() { | ||
654 | check_assist_not_applicable( | ||
655 | inline_local_variable, | ||
656 | " | ||
657 | fn foo() { | ||
658 | let <|>a = 0; | ||
659 | } | ||
660 | ", | ||
661 | ) | ||
662 | } | ||
648 | } | 663 | } |