File tree Expand file tree Collapse file tree 1 file changed +11
-11
lines changed
crates/assists/src/handlers Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,12 @@ pub(crate) fn extract_struct_from_enum_variant(
37
37
ast:: StructKind :: Tuple ( field_list) => field_list,
38
38
_ => return None ,
39
39
} ;
40
+
41
+ // skip 1-tuple variants
42
+ if field_list. fields ( ) . count ( ) == 1 {
43
+ return None ;
44
+ }
45
+
40
46
let variant_name = variant. name ( ) ?. to_string ( ) ;
41
47
let variant_hir = ctx. sema . to_def ( & variant) ?;
42
48
if existing_struct_def ( ctx. db ( ) , & variant_name, & variant_hir) {
@@ -228,17 +234,6 @@ mod tests {
228
234
"enum A { <|>One(u32, u32) }" ,
229
235
r#"struct One(pub u32, pub u32);
230
236
231
- enum A { One(One) }"# ,
232
- ) ;
233
- }
234
-
235
- #[ test]
236
- fn test_extract_struct_one_field ( ) {
237
- check_assist (
238
- extract_struct_from_enum_variant,
239
- "enum A { <|>One(u32) }" ,
240
- r#"struct One(pub u32);
241
-
242
237
enum A { One(One) }"# ,
243
238
) ;
244
239
}
@@ -324,4 +319,9 @@ fn another_fn() {
324
319
enum A { <|>One(u8) }"# ,
325
320
) ;
326
321
}
322
+
323
+ #[ test]
324
+ fn test_extract_not_applicable_one_field ( ) {
325
+ check_not_applicable ( r"enum A { <|>One(u32) }" ) ;
326
+ }
327
327
}
You can’t perform that action at this time.
0 commit comments