File tree 1 file changed +8
-6
lines changed
src/tools/rust-analyzer/crates/ide-assists/src/handlers
1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -462,12 +462,15 @@ fn add_enum_def(
462
462
target_node : SyntaxNode ,
463
463
target_module : & hir:: Module ,
464
464
) -> Option < ( ) > {
465
+ let insert_before = node_to_insert_before ( target_node) ;
466
+
465
467
if ctx
466
- . find_node_at_offset :: < ast:: SourceFile > ( ) ?
467
- . syntax ( )
468
- . children ( )
469
- . filter_map ( |node| ast:: Enum :: cast ( node) . and_then ( |e| ctx. sema . to_def ( & e) ) )
470
- . any ( |def| def. name ( ctx. db ( ) ) . as_str ( ) == Some ( "Bool" ) )
468
+ . sema
469
+ . scope ( & insert_before) ?
470
+ . module ( )
471
+ . scope ( ctx. db ( ) , Some ( * target_module) )
472
+ . iter ( )
473
+ . any ( |( name, _) | name. as_str ( ) == Some ( "Bool" ) )
471
474
{
472
475
return None ;
473
476
}
@@ -482,7 +485,6 @@ fn add_enum_def(
482
485
. any ( |module| module. nearest_non_block_module ( ctx. db ( ) ) != * target_module) ;
483
486
let enum_def = make_bool_enum ( make_enum_pub) ;
484
487
485
- let insert_before = node_to_insert_before ( target_node) ;
486
488
let indent = IndentLevel :: from_node ( & insert_before) ;
487
489
enum_def. reindent_to ( indent) ;
488
490
You can’t perform that action at this time.
0 commit comments