File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
crates/ide_assists/src/handlers Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -160,6 +160,9 @@ impl Anchor {
160
160
. ancestors ( )
161
161
. take_while ( |it| !ast:: Item :: can_cast ( it. kind ( ) ) || ast:: MacroCall :: can_cast ( it. kind ( ) ) )
162
162
. find_map ( |node| {
163
+ if ast:: MacroCall :: can_cast ( node. kind ( ) ) {
164
+ return None ;
165
+ }
163
166
if let Some ( expr) =
164
167
node. parent ( ) . and_then ( ast:: StmtList :: cast) . and_then ( |it| it. tail_expr ( ) )
165
168
{
@@ -816,6 +819,32 @@ fn foo() {
816
819
)
817
820
}
818
821
822
+ #[ test]
823
+ fn extract_macro_call ( ) {
824
+ check_assist (
825
+ extract_variable,
826
+ r"
827
+ struct Vec;
828
+ macro_rules! vec {
829
+ () => {Vec}
830
+ }
831
+ fn main() {
832
+ let _ = $0vec![]$0;
833
+ }
834
+ " ,
835
+ r"
836
+ struct Vec;
837
+ macro_rules! vec {
838
+ () => {Vec}
839
+ }
840
+ fn main() {
841
+ let $0vec = vec![];
842
+ let _ = vec;
843
+ }
844
+ " ,
845
+ ) ;
846
+ }
847
+
819
848
#[ test]
820
849
fn test_extract_var_for_return_not_applicable ( ) {
821
850
check_assist_not_applicable ( extract_variable, "fn foo() { $0return$0; } " ) ;
You can’t perform that action at this time.
0 commit comments