diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2014-12-30 22:48:22 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2014-12-31 22:50:27 -0500 |
| commit | 1d21dad1d29d57875ff47b38e5894668f5bec6f9 (patch) | |
| tree | d80d608b5f54ab2084ee03f6eba5a0115af232a2 /src | |
| parent | 63af3e6cd2a24a02ad38e47f37010fff30c19908 (diff) | |
| download | rust-1d21dad1d29d57875ff47b38e5894668f5bec6f9.tar.gz rust-1d21dad1d29d57875ff47b38e5894668f5bec6f9.zip | |
rustc: replace `GetCrateDataCb` alias with an unboxed closure
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/metadata/csearch.rs | 4 | ||||
| -rw-r--r-- | src/librustc/metadata/decoder.rs | 33 |
2 files changed, 19 insertions, 18 deletions
diff --git a/src/librustc/metadata/csearch.rs b/src/librustc/metadata/csearch.rs index 0cbc94f379d..2b11b8517b0 100644 --- a/src/librustc/metadata/csearch.rs +++ b/src/librustc/metadata/csearch.rs @@ -62,7 +62,7 @@ pub fn each_child_of_item<F>(cstore: &cstore::CStore, F: FnMut(decoder::DefLike, ast::Name, ast::Visibility), { let crate_data = cstore.get_crate_data(def_id.krate); - let get_crate_data: decoder::GetCrateDataCb = |cnum| { + let get_crate_data = |&mut: cnum| { cstore.get_crate_data(cnum) }; decoder::each_child_of_item(cstore.intr.clone(), @@ -79,7 +79,7 @@ pub fn each_top_level_item_of_crate<F>(cstore: &cstore::CStore, F: FnMut(decoder::DefLike, ast::Name, ast::Visibility), { let crate_data = cstore.get_crate_data(cnum); - let get_crate_data: decoder::GetCrateDataCb = |cnum| { + let get_crate_data = |&mut: cnum| { cstore.get_crate_data(cnum) }; decoder::each_top_level_item_of_crate(cstore.intr.clone(), diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs index a168ac7fa9a..d079d0e52aa 100644 --- a/src/librustc/metadata/decoder.rs +++ b/src/librustc/metadata/decoder.rs @@ -487,14 +487,13 @@ pub fn each_lang_item<F>(cdata: Cmd, mut f: F) -> bool where }) } -pub type GetCrateDataCb<'a> = |ast::CrateNum|: 'a -> Rc<crate_metadata>; - -fn each_child_of_item_or_crate<F>(intr: Rc<IdentInterner>, - cdata: Cmd, - item_doc: rbml::Doc, - get_crate_data: GetCrateDataCb, - mut callback: F) where +fn each_child_of_item_or_crate<F, G>(intr: Rc<IdentInterner>, + cdata: Cmd, + item_doc: rbml::Doc, + mut get_crate_data: G, + mut callback: F) where F: FnMut(DefLike, ast::Name, ast::Visibility), + G: FnMut(ast::CrateNum) -> Rc<crate_metadata>, { // Iterate over all children. 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>, } /// Iterates over each child of the given item. -pub fn each_child_of_item<F>(intr: Rc<IdentInterner>, - cdata: Cmd, - id: ast::NodeId, - get_crate_data: GetCrateDataCb, - callback: F) where +pub fn each_child_of_item<F, G>(intr: Rc<IdentInterner>, + cdata: Cmd, + id: ast::NodeId, + get_crate_data: G, + callback: F) where F: FnMut(DefLike, ast::Name, ast::Visibility), + G: FnMut(ast::CrateNum) -> Rc<crate_metadata>, { // Find the item. let root_doc = rbml::Doc::new(cdata.data()); @@ -631,11 +631,12 @@ pub fn each_child_of_item<F>(intr: Rc<IdentInterner>, } /// Iterates over all the top-level crate items. -pub fn each_top_level_item_of_crate<F>(intr: Rc<IdentInterner>, - cdata: Cmd, - get_crate_data: GetCrateDataCb, - callback: F) where +pub fn each_top_level_item_of_crate<F, G>(intr: Rc<IdentInterner>, + cdata: Cmd, + get_crate_data: G, + callback: F) where F: FnMut(DefLike, ast::Name, ast::Visibility), + G: FnMut(ast::CrateNum) -> Rc<crate_metadata>, { let root_doc = rbml::Doc::new(cdata.data()); let misc_info_doc = reader::get_doc(root_doc, tag_misc_info); |
