Struct rustc_traits::chalk::lowering::ParamsSubstitutor [−][src]
pub(crate) struct ParamsSubstitutor<'tcx> {
tcx: TyCtxt<'tcx>,
binder_index: DebruijnIndex,
list: Vec<ParamTy>,
next_ty_placeholder: usize,
pub(crate) params: FxHashMap<usize, ParamTy>,
pub(crate) named_regions: BTreeMap<DefId, u32>,
}Expand description
Used to substitute Params with placeholders. We do this since Chalk
have a notion of Params.
Fields
tcx: TyCtxt<'tcx>binder_index: DebruijnIndexlist: Vec<ParamTy>next_ty_placeholder: usizeparams: FxHashMap<usize, ParamTy>named_regions: BTreeMap<DefId, u32>Implementations
impl<'tcx> ParamsSubstitutor<'tcx>[src]
impl<'tcx> ParamsSubstitutor<'tcx>[src]Trait Implementations
impl<'tcx> TypeFolder<'tcx> for ParamsSubstitutor<'tcx>[src]
impl<'tcx> TypeFolder<'tcx> for ParamsSubstitutor<'tcx>[src]fn tcx<'b>(&'b self) -> TyCtxt<'tcx>[src]
fn fold_binder<T: TypeFoldable<'tcx>>(
&mut self,
t: Binder<'tcx, T>
) -> Binder<'tcx, T>[src]
&mut self,
t: Binder<'tcx, T>
) -> Binder<'tcx, T>