aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_assists/src/handlers
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-06-04 19:44:22 +0100
committerGitHub <[email protected]>2021-06-04 19:44:22 +0100
commitd647568db161db585f4f2ee3af9160e445338ac1 (patch)
tree9eb4a1f061f9dd2c07244a41b7788776272a7fe0 /crates/ide_assists/src/handlers
parent98395f29a417b37a5969594f0cac5ae23585da85 (diff)
parent1bd04d9064399cc2e1c490906b897397ff6929b1 (diff)
Merge #9141
9141: fix: Don't inline mutable locals in 'inline_local_variable' r=Veykril a=Veykril Fixes #9139 Co-authored-by: Lukas Wirth <[email protected]>
Diffstat (limited to 'crates/ide_assists/src/handlers')
-rw-r--r--crates/ide_assists/src/handlers/inline_local_variable.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/ide_assists/src/handlers/inline_local_variable.rs b/crates/ide_assists/src/handlers/inline_local_variable.rs
index f5dafc8cb..2441dbb8b 100644
--- a/crates/ide_assists/src/handlers/inline_local_variable.rs
+++ b/crates/ide_assists/src/handlers/inline_local_variable.rs
@@ -182,6 +182,10 @@ fn inline_usage(ctx: &AssistContext) -> Option<InlineData> {
182 PathResolution::Local(local) => local, 182 PathResolution::Local(local) => local,
183 _ => return None, 183 _ => return None,
184 }; 184 };
185 if local.is_mut(ctx.sema.db) {
186 cov_mark::hit!(test_not_inline_mut_variable_use);
187 return None;
188 }
185 189
186 let bind_pat = match local.source(ctx.db()).value { 190 let bind_pat = match local.source(ctx.db()).value {
187 Either::Left(ident) => ident, 191 Either::Left(ident) => ident,
@@ -427,6 +431,19 @@ fn foo() {
427 } 431 }
428 432
429 #[test] 433 #[test]
434 fn test_not_inline_mut_variable_use() {
435 cov_mark::check!(test_not_inline_mut_variable_use);
436 check_assist_not_applicable(
437 inline_local_variable,
438 r"
439fn foo() {
440 let mut a = 1 + 1;
441 a$0 + 1;
442}",
443 );
444 }
445
446 #[test]
430 fn test_call_expr() { 447 fn test_call_expr() {
431 check_assist( 448 check_assist(
432 inline_local_variable, 449 inline_local_variable,