Centralize on using Binder to introduce new binding levels, rather than having FnSig carry an implicit binding level. This means that we be more typesafe in general, since things that instantiate bound regions can drop the Binder to reflect that.

This commit is contained in:
Niko Matsakis 2014-12-12 11:28:35 -05:00
parent ed4952ef39
commit 1205fd88df
48 changed files with 462 additions and 545 deletions

View file

@ -275,11 +275,11 @@ impl<'a, 'tcx> Env<'a, 'tcx> {
onceness: ast::Many,
store: ty::RegionTraitStore(region_bound, ast::MutMutable),
bounds: ty::region_existential_bound(region_bound),
sig: ty::FnSig {
sig: ty::Binder(ty::FnSig {
inputs: input_tys.to_vec(),
output: ty::FnConverging(output_ty),
variadic: false,
},
}),
abi: abi::Rust,
})
}