pub(crate) struct GenericArgsDelegate<'a, 'tcx>(pub(crate) &'a [GenericArg], pub(crate) TyCtxt<'tcx>);Expand description
A substitution with an explicit list of generic arguments.
Tuple Fields§
§0: &'a [GenericArg]§1: TyCtxt<'tcx>Trait Implementations§
Source§impl GenericsSubstDelegate for GenericArgsDelegate<'_, '_>
impl GenericsSubstDelegate for GenericArgsDelegate<'_, '_>
fn sort_for_param(&mut self, param_ty: ParamTy) -> Result<Sort, !>
fn ty_for_param(&mut self, param_ty: ParamTy) -> Result<Ty, !>
fn ctor_for_param(&mut self, param_ty: ParamTy) -> Result<SubsetTyCtor, !>
fn region_for_param(&mut self, ebr: EarlyParamRegion) -> Result<Region, !>
fn const_for_param(&mut self, param: &Const) -> Const
fn expr_for_param_const(&self, param_const: ParamConst) -> Expr
type Error = !
Auto Trait Implementations§
impl<'a, 'tcx> !RefUnwindSafe for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> !Send for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> !Sync for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> !UnwindSafe for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> DynSend for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> DynSync for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> Freeze for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> Unpin for GenericArgsDelegate<'a, 'tcx>
impl<'a, 'tcx> UnsafeUnpin for GenericArgsDelegate<'a, 'tcx>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Argument conversion from
Self to K.
This should always be a very cheap conversion, e.g. [LocalDefId::to_def_id].