pub struct TyLoweringContext<'db, 'a> {Show 22 fields
pub db: &'db (dyn HirDatabase + 'static),
pub(crate) interner: DbInterner<'db>,
types: &'db DefaultAny<'db>,
lang_items: &'db LangItems,
resolver: &'a Resolver<'db>,
store: &'db ExpressionStore,
def: ExpressionStoreOwnerId,
generic_def: GenericDefId,
generics: &'a OnceCell<Generics<'db>>,
in_binders: DebruijnIndex,
impl_trait_mode: ImplTraitLoweringState,
interning_mode: LoweringMode,
pub(crate) unsized_types: HashSet<Ty<'db>, FxBuildHasher>,
pub(crate) diagnostics: ThinVec<TyLoweringDiagnostic>,
lifetime_elision: LifetimeElisionKind<'db>,
forbid_params_after: Option<u32>,
forbid_params_after_reason: ForbidParamsAfterReason,
pub(crate) defined_anon_consts: ThinVec<AnonConstId<'db>>,
infer_vars: Option<&'a mut dyn TyLoweringInferVarsCtx<'db>>,
is_lowering_impl_trait_bounds: bool,
bound_vars: Vec<(Vec<Name>, BoundVarKinds<'db>)>,
lifetime_lowering_mode: LifetimeLoweringMode,
}Fields§
§db: &'db (dyn HirDatabase + 'static)§interner: DbInterner<'db>§types: &'db DefaultAny<'db>§lang_items: &'db LangItems§resolver: &'a Resolver<'db>§store: &'db ExpressionStore§def: ExpressionStoreOwnerId§generic_def: GenericDefId§generics: &'a OnceCell<Generics<'db>>§in_binders: DebruijnIndex§impl_trait_mode: ImplTraitLoweringState§interning_mode: LoweringMode§unsized_types: HashSet<Ty<'db>, FxBuildHasher>§diagnostics: ThinVec<TyLoweringDiagnostic>§lifetime_elision: LifetimeElisionKind<'db>§forbid_params_after: Option<u32>§forbid_params_after_reason: ForbidParamsAfterReason§defined_anon_consts: ThinVec<AnonConstId<'db>>§infer_vars: Option<&'a mut dyn TyLoweringInferVarsCtx<'db>>§is_lowering_impl_trait_bounds: bool§bound_vars: Vec<(Vec<Name>, BoundVarKinds<'db>)>§lifetime_lowering_mode: LifetimeLoweringModeImplementations§
Source§impl<'db, 'a> TyLoweringContext<'db, 'a>
impl<'db, 'a> TyLoweringContext<'db, 'a>
pub fn new( db: &'db (dyn HirDatabase + 'static), resolver: &'a Resolver<'db>, store: &'db ExpressionStore, def: ExpressionStoreOwnerId, generic_def: GenericDefId, generics: &'a OnceCell<Generics<'db>>, lifetime_elision: LifetimeElisionKind<'db>, lifetime_lowering_mode: LifetimeLoweringMode, ) -> TyLoweringContext<'db, 'a>
pub fn with_interning_mode( self, interning_mode: LoweringMode, ) -> TyLoweringContext<'db, 'a>
pub fn with_infer_vars_behavior( self, behavior: Option<&'a mut dyn TyLoweringInferVarsCtx<'db>>, ) -> TyLoweringContext<'db, 'a>
Auto Trait Implementations§
impl<'db, 'a> !RefUnwindSafe for TyLoweringContext<'db, 'a>
impl<'db, 'a> !Send for TyLoweringContext<'db, 'a>
impl<'db, 'a> !Sync for TyLoweringContext<'db, 'a>
impl<'db, 'a> !UnwindSafe for TyLoweringContext<'db, 'a>
impl<'db, 'a> Freeze for TyLoweringContext<'db, 'a>
impl<'db, 'a> Unpin for TyLoweringContext<'db, 'a>
impl<'db, 'a> UnsafeUnpin for TyLoweringContext<'db, 'a>
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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