HirDatabase

Trait HirDatabase 

pub trait HirDatabase: DefDatabase + Debug {
Show 36 methods // Required methods fn mir_body<'db>( &'db self, def: DefWithBodyId, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>; fn mir_body_for_closure<'db>( &'db self, def: InternedClosureId, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>; fn monomorphized_mir_body<'db>( &'db self, def: DefWithBodyId, subst: GenericArgs<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>; fn monomorphized_mir_body_for_closure<'db>( &'db self, def: InternedClosureId, subst: GenericArgs<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>; fn borrowck<'db>( &'db self, def: DefWithBodyId, ) -> Result<Arc<[BorrowckResult<'db>]>, MirLowerError<'db>>; fn const_eval<'db>( &'db self, def: ConstId, subst: GenericArgs<'db>, trait_env: Option<ParamEnvAndCrate<'db>>, ) -> Result<Const<'db>, ConstEvalError<'db>>; fn const_eval_static<'db>( &'db self, def: StaticId, ) -> Result<Const<'db>, ConstEvalError<'db>>; fn const_eval_discriminant<'db>( &'db self, def: EnumVariantId, ) -> Result<i128, ConstEvalError<'db>>; fn lookup_impl_method<'db>( &'db self, env: ParamEnvAndCrate<'db>, func: FunctionId, fn_subst: GenericArgs<'db>, ) -> (FunctionId, GenericArgs<'db>); fn layout_of_adt<'db>( &'db self, def: AdtId, args: GenericArgs<'db>, trait_env: ParamEnvAndCrate<'db>, ) -> Result<Arc<LayoutData<RustcFieldIdx, RustcEnumVariantIdx>>, LayoutError>; fn layout_of_ty<'db>( &'db self, ty: Ty<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<LayoutData<RustcFieldIdx, RustcEnumVariantIdx>>, LayoutError>; fn target_data_layout( &self, krate: Crate, ) -> Result<Arc<TargetDataLayout>, TargetLoadError>; fn dyn_compatibility_of_trait( &self, trait_: TraitId, ) -> Option<DynCompatibilityViolation>; fn ty<'db>(&'db self, def: TyDefId) -> EarlyBinder<DbInterner<'db>, Ty<'db>>; fn type_for_type_alias_with_diagnostics<'db>( &'db self, def: TypeAliasId, ) -> (EarlyBinder<DbInterner<'db>, Ty<'db>>, Option<ThinArc<(), TyLoweringDiagnostic>>); fn value_ty<'db>( &'db self, def: ValueTyDefId, ) -> Option<EarlyBinder<DbInterner<'db>, Ty<'db>>>; fn impl_self_ty_with_diagnostics<'db>( &'db self, def: ImplId, ) -> (EarlyBinder<DbInterner<'db>, Ty<'db>>, Option<ThinArc<(), TyLoweringDiagnostic>>); fn impl_self_ty<'db>( &'db self, def: ImplId, ) -> EarlyBinder<DbInterner<'db>, Ty<'db>>; fn const_param_ty_with_diagnostics<'db>( &'db self, def: ConstParamId, ) -> (Ty<'db>, Option<ThinArc<(), TyLoweringDiagnostic>>); fn const_param_ty_ns<'db>(&'db self, def: ConstParamId) -> Ty<'db>; fn impl_trait_with_diagnostics<'db>( &'db self, def: ImplId, ) -> Option<(EarlyBinder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, Option<ThinArc<(), TyLoweringDiagnostic>>)>; fn impl_trait<'db>( &'db self, def: ImplId, ) -> Option<EarlyBinder<DbInterner<'db>, TraitRef<DbInterner<'db>>>>; fn field_types_with_diagnostics<'db>( &'db self, var: VariantId, ) -> (Arc<ArenaMap<Idx<FieldData>, EarlyBinder<DbInterner<'db>, Ty<'db>>>>, Option<ThinArc<(), TyLoweringDiagnostic>>); fn field_types<'db>( &'db self, var: VariantId, ) -> Arc<ArenaMap<Idx<FieldData>, EarlyBinder<DbInterner<'db>, Ty<'db>>>>; fn callable_item_signature<'db>( &'db self, def: CallableDefId, ) -> EarlyBinder<DbInterner<'db>, Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>>; fn trait_environment_for_body<'db>( &'db self, def: DefWithBodyId, ) -> ParamEnv<'db>; fn trait_environment<'db>(&'db self, def: GenericDefId) -> ParamEnv<'db>; fn generic_defaults_with_diagnostics<'db>( &'db self, def: GenericDefId, ) -> (GenericDefaults<'db>, Option<ThinArc<(), TyLoweringDiagnostic>>); fn generic_defaults<'db>( &'db self, def: GenericDefId, ) -> GenericDefaults<'db>; fn intern_impl_trait_id(&self, id: ImplTraitId<'_>) -> InternedOpaqueTyId; fn intern_closure(&self, id: InternedClosure) -> InternedClosureId; fn intern_coroutine(&self, id: InternedCoroutine) -> InternedCoroutineId; fn variances_of<'db>(&'db self, def: GenericDefId) -> VariancesOf<'db>; fn lookup_intern_impl_trait_id( &self, id: InternedOpaqueTyId, ) -> ImplTraitId<'_>; fn lookup_intern_closure(&self, id: InternedClosureId) -> InternedClosure; fn lookup_intern_coroutine( &self, id: InternedCoroutineId, ) -> InternedCoroutine;
}

Required Methods§

fn mir_body<'db>( &'db self, def: DefWithBodyId, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>

fn mir_body_for_closure<'db>( &'db self, def: InternedClosureId, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>

fn monomorphized_mir_body<'db>( &'db self, def: DefWithBodyId, subst: GenericArgs<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>

fn monomorphized_mir_body_for_closure<'db>( &'db self, def: InternedClosureId, subst: GenericArgs<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<MirBody<'db>>, MirLowerError<'db>>

fn borrowck<'db>( &'db self, def: DefWithBodyId, ) -> Result<Arc<[BorrowckResult<'db>]>, MirLowerError<'db>>

fn const_eval<'db>( &'db self, def: ConstId, subst: GenericArgs<'db>, trait_env: Option<ParamEnvAndCrate<'db>>, ) -> Result<Const<'db>, ConstEvalError<'db>>

fn const_eval_static<'db>( &'db self, def: StaticId, ) -> Result<Const<'db>, ConstEvalError<'db>>

fn const_eval_discriminant<'db>( &'db self, def: EnumVariantId, ) -> Result<i128, ConstEvalError<'db>>

fn lookup_impl_method<'db>( &'db self, env: ParamEnvAndCrate<'db>, func: FunctionId, fn_subst: GenericArgs<'db>, ) -> (FunctionId, GenericArgs<'db>)

fn layout_of_adt<'db>( &'db self, def: AdtId, args: GenericArgs<'db>, trait_env: ParamEnvAndCrate<'db>, ) -> Result<Arc<LayoutData<RustcFieldIdx, RustcEnumVariantIdx>>, LayoutError>

fn layout_of_ty<'db>( &'db self, ty: Ty<'db>, env: ParamEnvAndCrate<'db>, ) -> Result<Arc<LayoutData<RustcFieldIdx, RustcEnumVariantIdx>>, LayoutError>

fn target_data_layout( &self, krate: Crate, ) -> Result<Arc<TargetDataLayout>, TargetLoadError>

fn dyn_compatibility_of_trait( &self, trait_: TraitId, ) -> Option<DynCompatibilityViolation>

fn ty<'db>(&'db self, def: TyDefId) -> EarlyBinder<DbInterner<'db>, Ty<'db>>

fn type_for_type_alias_with_diagnostics<'db>( &'db self, def: TypeAliasId, ) -> (EarlyBinder<DbInterner<'db>, Ty<'db>>, Option<ThinArc<(), TyLoweringDiagnostic>>)

fn value_ty<'db>( &'db self, def: ValueTyDefId, ) -> Option<EarlyBinder<DbInterner<'db>, Ty<'db>>>

fn impl_self_ty_with_diagnostics<'db>( &'db self, def: ImplId, ) -> (EarlyBinder<DbInterner<'db>, Ty<'db>>, Option<ThinArc<(), TyLoweringDiagnostic>>)

fn impl_self_ty<'db>( &'db self, def: ImplId, ) -> EarlyBinder<DbInterner<'db>, Ty<'db>>

fn const_param_ty_with_diagnostics<'db>( &'db self, def: ConstParamId, ) -> (Ty<'db>, Option<ThinArc<(), TyLoweringDiagnostic>>)

fn const_param_ty_ns<'db>(&'db self, def: ConstParamId) -> Ty<'db>

fn impl_trait_with_diagnostics<'db>( &'db self, def: ImplId, ) -> Option<(EarlyBinder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, Option<ThinArc<(), TyLoweringDiagnostic>>)>

fn impl_trait<'db>( &'db self, def: ImplId, ) -> Option<EarlyBinder<DbInterner<'db>, TraitRef<DbInterner<'db>>>>

fn field_types_with_diagnostics<'db>( &'db self, var: VariantId, ) -> (Arc<ArenaMap<Idx<FieldData>, EarlyBinder<DbInterner<'db>, Ty<'db>>>>, Option<ThinArc<(), TyLoweringDiagnostic>>)

fn field_types<'db>( &'db self, var: VariantId, ) -> Arc<ArenaMap<Idx<FieldData>, EarlyBinder<DbInterner<'db>, Ty<'db>>>>

fn callable_item_signature<'db>( &'db self, def: CallableDefId, ) -> EarlyBinder<DbInterner<'db>, Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>>

fn trait_environment_for_body<'db>( &'db self, def: DefWithBodyId, ) -> ParamEnv<'db>

fn trait_environment<'db>(&'db self, def: GenericDefId) -> ParamEnv<'db>

fn generic_defaults_with_diagnostics<'db>( &'db self, def: GenericDefId, ) -> (GenericDefaults<'db>, Option<ThinArc<(), TyLoweringDiagnostic>>)

fn generic_defaults<'db>(&'db self, def: GenericDefId) -> GenericDefaults<'db>

fn intern_impl_trait_id(&self, id: ImplTraitId<'_>) -> InternedOpaqueTyId

fn intern_closure(&self, id: InternedClosure) -> InternedClosureId

fn intern_coroutine(&self, id: InternedCoroutine) -> InternedCoroutineId

fn variances_of<'db>(&'db self, def: GenericDefId) -> VariancesOf<'db>

fn lookup_intern_impl_trait_id(&self, id: InternedOpaqueTyId) -> ImplTraitId<'_>

fn lookup_intern_closure(&self, id: InternedClosureId) -> InternedClosure

fn lookup_intern_coroutine(&self, id: InternedCoroutineId) -> InternedCoroutine

Implementors§

§

impl<DB> HirDatabase for DB
where DB: DefDatabase + Debug,