From: Jorge Aparicio Date: Sun, 4 Jan 2015 22:22:50 +0000 (-0500) Subject: typeck: remove remaining boxed closures X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=977e151b9a74af6cdb92b7afb57a4dbacc799841;p=rust.git typeck: remove remaining boxed closures --- diff --git a/src/librustc_typeck/check/method/probe.rs b/src/librustc_typeck/check/method/probe.rs index 8adb592633f..beb51590b41 100644 --- a/src/librustc_typeck/check/method/probe.rs +++ b/src/librustc_typeck/check/method/probe.rs @@ -387,14 +387,18 @@ fn assemble_inherent_candidates_from_param(&mut self, // Do a search through a list of bounds, using a callback to actually // create the candidates. - fn elaborate_bounds( + fn elaborate_bounds( &mut self, bounds: &[ty::PolyTraitRef<'tcx>], num_includes_types: bool, - mk_cand: for<'b> |this: &mut ProbeContext<'b, 'tcx>, - tr: ty::PolyTraitRef<'tcx>, - m: Rc>, - method_num: uint|) + mut mk_cand: F, + ) where + F: for<'b> FnMut( + &mut ProbeContext<'b, 'tcx>, + ty::PolyTraitRef<'tcx>, + Rc>, + uint, + ), { debug!("elaborate_bounds(bounds={})", bounds.repr(self.tcx())); diff --git a/src/librustc_typeck/check/wf.rs b/src/librustc_typeck/check/wf.rs index 42ac1af325f..d4a5bda5f97 100644 --- a/src/librustc_typeck/check/wf.rs +++ b/src/librustc_typeck/check/wf.rs @@ -81,10 +81,9 @@ fn check_item_well_formed(&mut self, item: &ast::Item) { } } - fn with_fcx(&mut self, - item: &ast::Item, - f: for<'fcx> |&mut CheckTypeWellFormedVisitor<'ccx, 'tcx>, - &FnCtxt<'fcx, 'tcx>|) { + fn with_fcx(&mut self, item: &ast::Item, mut f: F) where + F: for<'fcx> FnMut(&mut CheckTypeWellFormedVisitor<'ccx, 'tcx>, &FnCtxt<'fcx, 'tcx>), + { let ccx = self.ccx; let item_def_id = local_def(item.id); let polytype = ty::lookup_item_type(ccx.tcx, item_def_id); @@ -100,10 +99,8 @@ fn with_fcx(&mut self, } /// In a type definition, we check that to ensure that the types of the fields are well-formed. - fn check_type_defn(&mut self, - item: &ast::Item, - lookup_fields: for<'fcx> |&FnCtxt<'fcx, 'tcx>| - -> Vec>) + fn check_type_defn(&mut self, item: &ast::Item, mut lookup_fields: F) where + F: for<'fcx> FnMut(&FnCtxt<'fcx, 'tcx>) -> Vec>, { self.with_fcx(item, |this, fcx| { let variants = lookup_fields(fcx);