Skip to content

Commit 1d21dad

Browse files
author
Jorge Aparicio
committed
rustc: replace GetCrateDataCb alias with an unboxed closure
1 parent 63af3e6 commit 1d21dad

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

src/librustc/metadata/csearch.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn each_child_of_item<F>(cstore: &cstore::CStore,
6262
F: FnMut(decoder::DefLike, ast::Name, ast::Visibility),
6363
{
6464
let crate_data = cstore.get_crate_data(def_id.krate);
65-
let get_crate_data: decoder::GetCrateDataCb = |cnum| {
65+
let get_crate_data = |&mut: cnum| {
6666
cstore.get_crate_data(cnum)
6767
};
6868
decoder::each_child_of_item(cstore.intr.clone(),
@@ -79,7 +79,7 @@ pub fn each_top_level_item_of_crate<F>(cstore: &cstore::CStore,
7979
F: FnMut(decoder::DefLike, ast::Name, ast::Visibility),
8080
{
8181
let crate_data = cstore.get_crate_data(cnum);
82-
let get_crate_data: decoder::GetCrateDataCb = |cnum| {
82+
let get_crate_data = |&mut: cnum| {
8383
cstore.get_crate_data(cnum)
8484
};
8585
decoder::each_top_level_item_of_crate(cstore.intr.clone(),

src/librustc/metadata/decoder.rs

+17-16
Original file line numberDiff line numberDiff line change
@@ -487,14 +487,13 @@ pub fn each_lang_item<F>(cdata: Cmd, mut f: F) -> bool where
487487
})
488488
}
489489

490-
pub type GetCrateDataCb<'a> = |ast::CrateNum|: 'a -> Rc<crate_metadata>;
491-
492-
fn each_child_of_item_or_crate<F>(intr: Rc<IdentInterner>,
493-
cdata: Cmd,
494-
item_doc: rbml::Doc,
495-
get_crate_data: GetCrateDataCb,
496-
mut callback: F) where
490+
fn each_child_of_item_or_crate<F, G>(intr: Rc<IdentInterner>,
491+
cdata: Cmd,
492+
item_doc: rbml::Doc,
493+
mut get_crate_data: G,
494+
mut callback: F) where
497495
F: FnMut(DefLike, ast::Name, ast::Visibility),
496+
G: FnMut(ast::CrateNum) -> Rc<crate_metadata>,
498497
{
499498
// Iterate over all children.
500499
let _ = reader::tagged_docs(item_doc, tag_mod_child, |child_info_doc| {
@@ -608,12 +607,13 @@ fn each_child_of_item_or_crate<F>(intr: Rc<IdentInterner>,
608607
}
609608

610609
/// Iterates over each child of the given item.
611-
pub fn each_child_of_item<F>(intr: Rc<IdentInterner>,
612-
cdata: Cmd,
613-
id: ast::NodeId,
614-
get_crate_data: GetCrateDataCb,
615-
callback: F) where
610+
pub fn each_child_of_item<F, G>(intr: Rc<IdentInterner>,
611+
cdata: Cmd,
612+
id: ast::NodeId,
613+
get_crate_data: G,
614+
callback: F) where
616615
F: FnMut(DefLike, ast::Name, ast::Visibility),
616+
G: FnMut(ast::CrateNum) -> Rc<crate_metadata>,
617617
{
618618
// Find the item.
619619
let root_doc = rbml::Doc::new(cdata.data());
@@ -631,11 +631,12 @@ pub fn each_child_of_item<F>(intr: Rc<IdentInterner>,
631631
}
632632

633633
/// Iterates over all the top-level crate items.
634-
pub fn each_top_level_item_of_crate<F>(intr: Rc<IdentInterner>,
635-
cdata: Cmd,
636-
get_crate_data: GetCrateDataCb,
637-
callback: F) where
634+
pub fn each_top_level_item_of_crate<F, G>(intr: Rc<IdentInterner>,
635+
cdata: Cmd,
636+
get_crate_data: G,
637+
callback: F) where
638638
F: FnMut(DefLike, ast::Name, ast::Visibility),
639+
G: FnMut(ast::CrateNum) -> Rc<crate_metadata>,
639640
{
640641
let root_doc = rbml::Doc::new(cdata.data());
641642
let misc_info_doc = reader::get_doc(root_doc, tag_misc_info);

0 commit comments

Comments
 (0)