From 5c3a93ca9eb2812d59a86a22bb0517a0022441d8 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Fri, 27 Aug 2021 19:58:50 +0200 Subject: [PATCH] Remove incorrect assertion in extract_function --- crates/ide_assists/src/handlers/extract_function.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/crates/ide_assists/src/handlers/extract_function.rs b/crates/ide_assists/src/handlers/extract_function.rs index 5e96cec511c..1bf9c073a4f 100644 --- a/crates/ide_assists/src/handlers/extract_function.rs +++ b/crates/ide_assists/src/handlers/extract_function.rs @@ -601,10 +601,7 @@ impl FunctionBody { if local_ref.is_self(sema.db) { match local_ref.source(sema.db).value { Either::Right(it) => { - stdx::always!( - self_param.replace(it).is_none(), - "body references two different self params" - ); + self_param.replace(it); } Either::Left(_) => { stdx::never!( @@ -2369,7 +2366,7 @@ struct S { f: i32 }; impl S { fn foo(&self) -> i32 { - $01+self.f$0 + $0self.f+self.f$0 } } "#, @@ -2382,7 +2379,7 @@ impl S { } fn $0fun_name(&self) -> i32 { - 1+self.f + self.f+self.f } } "#,