From 977e151b9a74af6cdb92b7afb57a4dbacc799841 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Sun, 4 Jan 2015 17:22:50 -0500 Subject: [PATCH] typeck: remove remaining boxed closures --- src/librustc_typeck/check/method/probe.rs | 14 +++++++++----- src/librustc_typeck/check/wf.rs | 13 +++++-------- 2 files changed, 14 insertions(+), 13 deletions(-) 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 @@ impl<'a,'tcx> ProbeContext<'a,'tcx> { // 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 @@ impl<'ccx, 'tcx> CheckTypeWellFormedVisitor<'ccx, 'tcx> { } } - 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 @@ impl<'ccx, 'tcx> CheckTypeWellFormedVisitor<'ccx, 'tcx> { } /// 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);