File tree Expand file tree Collapse file tree 1 file changed +4
-11
lines changed Expand file tree Collapse file tree 1 file changed +4
-11
lines changed Original file line number Diff line number Diff line change @@ -574,19 +574,13 @@ impl<'a> LoweringContext<'a> {
574574 } )
575575 }
576576
577- fn expect_full_def_from_use ( & mut self , id : NodeId ) -> Vec < Def > {
578- let mut ret = self . resolver . get_import ( id) . present_items ( ) . map ( |pr| {
577+ fn expect_full_def_from_use ( & mut self , id : NodeId ) -> impl Iterator < Item = Def > {
578+ self . resolver . get_import ( id) . present_items ( ) . map ( |pr| {
579579 if pr. unresolved_segments ( ) != 0 {
580580 bug ! ( "path not fully resolved: {:?}" , pr) ;
581581 }
582582 pr. base_def ( )
583- } ) . collect :: < Vec < _ > > ( ) ;
584-
585- if ret. is_empty ( ) {
586- ret. push ( Def :: Err ) ;
587- }
588-
589- ret
583+ } )
590584 }
591585
592586 fn diagnostic ( & self ) -> & errors:: Handler {
@@ -2407,7 +2401,7 @@ impl<'a> LoweringContext<'a> {
24072401 }
24082402
24092403 let parent_def_index = self . current_hir_id_owner . last ( ) . unwrap ( ) . 0 ;
2410- let mut defs = self . expect_full_def_from_use ( id) . into_iter ( ) ;
2404+ let mut defs = self . expect_full_def_from_use ( id) ;
24112405 // we want to return *something* from this function, so hang onto the first item
24122406 // for later
24132407 let mut ret_def = defs. next ( ) . unwrap_or ( Def :: Err ) ;
@@ -2746,7 +2740,6 @@ impl<'a> LoweringContext<'a> {
27462740 UseTreeKind :: Glob => { }
27472741 UseTreeKind :: Simple ( _, id1, id2) => {
27482742 for ( _, & id) in self . expect_full_def_from_use ( base_id)
2749- . into_iter ( )
27502743 . skip ( 1 )
27512744 . zip ( [ id1, id2] . iter ( ) )
27522745 {
You can’t perform that action at this time.
0 commit comments