File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed
src/tools/rust-analyzer/crates/ide-assists/src/handlers Expand file tree Collapse file tree 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(
462462 target_node : SyntaxNode ,
463463 target_module : & hir:: Module ,
464464) -> Option < ( ) > {
465+ let insert_before = node_to_insert_before ( target_node) ;
466+
465467 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" ) )
471474 {
472475 return None ;
473476 }
@@ -482,7 +485,6 @@ fn add_enum_def(
482485 . any ( |module| module. nearest_non_block_module ( ctx. db ( ) ) != * target_module) ;
483486 let enum_def = make_bool_enum ( make_enum_pub) ;
484487
485- let insert_before = node_to_insert_before ( target_node) ;
486488 let indent = IndentLevel :: from_node ( & insert_before) ;
487489 enum_def. reindent_to ( indent) ;
488490
You can’t perform that action at this time.
0 commit comments