diff options
author | Lukas Wirth <[email protected]> | 2020-09-03 15:23:33 +0100 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2020-09-03 17:36:08 +0100 |
commit | 7de2a30f4080d0e6d8790882238bed1cb6ccbc21 (patch) | |
tree | 450b363b8f6646ca7cda39325e4524af7b9389e8 /crates/assists/src/handlers/extract_struct_from_enum_variant.rs | |
parent | 98e2f674e9e736720d1cd0a5b8c24e1fb10f64a1 (diff) |
Fix import insertion breaking nested modules
Diffstat (limited to 'crates/assists/src/handlers/extract_struct_from_enum_variant.rs')
-rw-r--r-- | crates/assists/src/handlers/extract_struct_from_enum_variant.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/assists/src/handlers/extract_struct_from_enum_variant.rs b/crates/assists/src/handlers/extract_struct_from_enum_variant.rs index d9c50f25f..a50a57f1a 100644 --- a/crates/assists/src/handlers/extract_struct_from_enum_variant.rs +++ b/crates/assists/src/handlers/extract_struct_from_enum_variant.rs | |||
@@ -15,7 +15,7 @@ use crate::{ | |||
15 | AssistContext, AssistId, AssistKind, Assists, | 15 | AssistContext, AssistId, AssistKind, Assists, |
16 | }; | 16 | }; |
17 | use ast::make; | 17 | use ast::make; |
18 | use insert_use::find_insert_use_container; | 18 | use insert_use::ImportScope; |
19 | 19 | ||
20 | // Assist: extract_struct_from_enum_variant | 20 | // Assist: extract_struct_from_enum_variant |
21 | // | 21 | // |
@@ -110,11 +110,11 @@ fn insert_import( | |||
110 | if let Some(mut mod_path) = mod_path { | 110 | if let Some(mut mod_path) = mod_path { |
111 | mod_path.segments.pop(); | 111 | mod_path.segments.pop(); |
112 | mod_path.segments.push(variant_hir_name.clone()); | 112 | mod_path.segments.push(variant_hir_name.clone()); |
113 | let container = find_insert_use_container(path.syntax(), ctx)?; | 113 | let scope = ImportScope::find_insert_use_container(path.syntax(), ctx)?; |
114 | let syntax = container.either(|l| l.syntax().clone(), |r| r.syntax().clone()); | 114 | let syntax = scope.as_syntax_node(); |
115 | 115 | ||
116 | let new_syntax = insert_use( | 116 | let new_syntax = insert_use( |
117 | &syntax, | 117 | &scope, |
118 | make::path_from_text(&mod_path.to_string()), | 118 | make::path_from_text(&mod_path.to_string()), |
119 | Some(MergeBehaviour::Full), | 119 | Some(MergeBehaviour::Full), |
120 | ); | 120 | ); |