Struct ra_ap_hir_ty::TyLoweringContext [−][src]
pub struct TyLoweringContext<'a> { pub db: &'a dyn HirDatabase, pub resolver: &'a Resolver, pub type_param_mode: TypeParamLoweringMode, pub impl_trait_mode: ImplTraitLoweringMode, // some fields omitted }
Fields
db: &'a dyn HirDatabase
resolver: &'a Resolver
type_param_mode: TypeParamLoweringMode
Note: Conceptually, it’s thinkable that we could be in a location where some type params should be represented as placeholders, and others should be converted to variables. I think in practice, this isn’t possible currently, so this should be fine for now.
impl_trait_mode: ImplTraitLoweringMode
Implementations
pub fn with_debruijn<T>(
&self,
debruijn: DebruijnIndex,
f: impl FnOnce(&TyLoweringContext<'_>) -> T
) -> T
pub fn with_shifted_in<T>(
&self,
debruijn: DebruijnIndex,
f: impl FnOnce(&TyLoweringContext<'_>) -> T
) -> T
Trait Implementations
Auto Trait Implementations
impl<'a> !RefUnwindSafe for TyLoweringContext<'a>
impl<'a> !Send for TyLoweringContext<'a>
impl<'a> !Sync for TyLoweringContext<'a>
impl<'a> Unpin for TyLoweringContext<'a>
impl<'a> !UnwindSafe for TyLoweringContext<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
impl<T> Any for T where
T: Any,