Skip to content

Commit 903e2c8

Browse files
turn expect_full_def_from_use into an iterator
1 parent 02121f3 commit 903e2c8

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

src/librustc/hir/lowering.rs

+4-11
Original file line numberDiff line numberDiff 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
{

0 commit comments

Comments
 (0)