mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-11 19:46:49 +00:00
typeck: remove remaining boxed closures
This commit is contained in:
parent
8570f0acc7
commit
977e151b9a
@ -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<F>(
|
||||
&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<ty::Method<'tcx>>,
|
||||
method_num: uint|)
|
||||
mut mk_cand: F,
|
||||
) where
|
||||
F: for<'b> FnMut(
|
||||
&mut ProbeContext<'b, 'tcx>,
|
||||
ty::PolyTraitRef<'tcx>,
|
||||
Rc<ty::Method<'tcx>>,
|
||||
uint,
|
||||
),
|
||||
{
|
||||
debug!("elaborate_bounds(bounds={})", bounds.repr(self.tcx()));
|
||||
|
||||
|
@ -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<F>(&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<AdtVariant<'tcx>>)
|
||||
fn check_type_defn<F>(&mut self, item: &ast::Item, mut lookup_fields: F) where
|
||||
F: for<'fcx> FnMut(&FnCtxt<'fcx, 'tcx>) -> Vec<AdtVariant<'tcx>>,
|
||||
{
|
||||
self.with_fcx(item, |this, fcx| {
|
||||
let variants = lookup_fields(fcx);
|
||||
|
Loading…
Reference in New Issue
Block a user