Trait ra_ap_hir::db::HirDatabase [−][src]
pub trait HirDatabase: Database + HasQueryGroup<HirDatabaseStorage> + DefDatabase + Upcast<dyn DefDatabase + 'static> {}Show methods
fn infer(&self, key0: DefWithBodyId) -> Arc<InferenceResult>; fn infer_query(&self, key0: DefWithBodyId) -> Arc<InferenceResult>; fn ty(&self, key0: TyDefId) -> Binders<Ty<Interner>>; fn value_ty(&self, key0: ValueTyDefId) -> Binders<Ty<Interner>>; fn impl_self_ty(&self, key0: ImplId) -> Binders<Ty<Interner>>; fn const_param_ty(&self, key0: ConstParamId) -> Ty<Interner>; fn impl_trait(&self, key0: ImplId) -> Option<Binders<TraitRef<Interner>>>; fn field_types(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Binders<Ty<Interner>>>>; fn callable_item_signature(
&self,
key0: CallableDefId
) -> Binders<CallableSig>; fn return_type_impl_traits(
&self,
key0: FunctionId
) -> Option<Arc<Binders<ReturnTypeImplTraits>>>; fn generic_predicates_for_param(
&self,
key0: TypeParamId
) -> Arc<[Binders<Binders<WhereClause<Interner>>>]>; fn generic_predicates(
&self,
key0: GenericDefId
) -> Arc<[Binders<Binders<WhereClause<Interner>>>]>; fn trait_environment(&self, key0: GenericDefId) -> Arc<TraitEnvironment>; fn generic_defaults(
&self,
key0: GenericDefId
) -> Arc<[Binders<Ty<Interner>>]>; fn inherent_impls_in_crate(&self, key0: CrateId) -> Arc<InherentImpls>; fn trait_impls_in_crate(&self, key0: CrateId) -> Arc<TraitImpls>; fn trait_impls_in_block(&self, key0: BlockId) -> Option<Arc<TraitImpls>>; fn trait_impls_in_deps(&self, key0: CrateId) -> Arc<TraitImpls>; fn intern_callable_def(&self, key0: CallableDefId) -> InternedCallableDefId; fn lookup_intern_callable_def(
&self,
key0: InternedCallableDefId
) -> CallableDefId; fn intern_type_param_id(&self, key0: TypeParamId) -> InternedTypeParamId; fn lookup_intern_type_param_id(
&self,
key0: InternedTypeParamId
) -> TypeParamId; fn intern_lifetime_param_id(
&self,
key0: LifetimeParamId
) -> InternedLifetimeParamId; fn lookup_intern_lifetime_param_id(
&self,
key0: InternedLifetimeParamId
) -> LifetimeParamId; fn intern_const_param_id(&self, key0: ConstParamId) -> InternedConstParamId; fn lookup_intern_const_param_id(
&self,
key0: InternedConstParamId
) -> ConstParamId; fn intern_impl_trait_id(&self, key0: ImplTraitId) -> InternedOpaqueTyId; fn lookup_intern_impl_trait_id(
&self,
key0: InternedOpaqueTyId
) -> ImplTraitId; fn intern_closure(
&self,
key0: (DefWithBodyId, Idx<Expr>)
) -> InternedClosureId; fn lookup_intern_closure(
&self,
key0: InternedClosureId
) -> (DefWithBodyId, Idx<Expr>); fn associated_ty_data(
&self,
key0: AssocTypeId<Interner>
) -> Arc<AssociatedTyDatum<Interner>>; fn trait_datum(
&self,
key0: CrateId,
key1: TraitId<Interner>
) -> Arc<TraitDatum<Interner>>; fn struct_datum(
&self,
key0: CrateId,
key1: AdtId<Interner>
) -> Arc<AdtDatum<Interner>>; fn impl_datum(
&self,
key0: CrateId,
key1: ImplId<Interner>
) -> Arc<ImplDatum<Interner>>; fn fn_def_datum(
&self,
key0: CrateId,
key1: FnDefId<Interner>
) -> Arc<FnDefDatum<Interner>>; fn fn_def_variance(&self, key0: FnDefId<Interner>) -> Variances<Interner>; fn adt_variance(&self, key0: AdtId<Interner>) -> Variances<Interner>; fn associated_ty_value(
&self,
key0: CrateId,
key1: AssociatedTyValueId<Interner>
) -> Arc<AssociatedTyValue<Interner>>; fn trait_solve(
&self,
key0: CrateId,
key1: Canonical<InEnvironment<Goal<Interner>>>
) -> Option<Solution<Interner>>; fn trait_solve_query(
&self,
key0: CrateId,
key1: Canonical<InEnvironment<Goal<Interner>>>
) -> Option<Solution<Interner>>; fn program_clauses_for_chalk_env(
&self,
key0: CrateId,
key1: Environment<Interner>
) -> ProgramClauses<Interner>;
Required methods
fn infer(&self, key0: DefWithBodyId) -> Arc<InferenceResult>
fn infer_query(&self, key0: DefWithBodyId) -> Arc<InferenceResult>
fn value_ty(&self, key0: ValueTyDefId) -> Binders<Ty<Interner>>
fn impl_self_ty(&self, key0: ImplId) -> Binders<Ty<Interner>>
fn const_param_ty(&self, key0: ConstParamId) -> Ty<Interner>
fn impl_trait(&self, key0: ImplId) -> Option<Binders<TraitRef<Interner>>>
fn field_types(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Binders<Ty<Interner>>>>
fn callable_item_signature(&self, key0: CallableDefId) -> Binders<CallableSig>
fn return_type_impl_traits(
&self,
key0: FunctionId
) -> Option<Arc<Binders<ReturnTypeImplTraits>>>
fn generic_predicates_for_param(
&self,
key0: TypeParamId
) -> Arc<[Binders<Binders<WhereClause<Interner>>>]>
fn generic_predicates(
&self,
key0: GenericDefId
) -> Arc<[Binders<Binders<WhereClause<Interner>>>]>
fn trait_environment(&self, key0: GenericDefId) -> Arc<TraitEnvironment>
fn generic_defaults(&self, key0: GenericDefId) -> Arc<[Binders<Ty<Interner>>]>
fn inherent_impls_in_crate(&self, key0: CrateId) -> Arc<InherentImpls>
fn trait_impls_in_crate(&self, key0: CrateId) -> Arc<TraitImpls>
fn trait_impls_in_block(&self, key0: BlockId) -> Option<Arc<TraitImpls>>
fn trait_impls_in_deps(&self, key0: CrateId) -> Arc<TraitImpls>
fn intern_callable_def(&self, key0: CallableDefId) -> InternedCallableDefId
fn lookup_intern_callable_def(
&self,
key0: InternedCallableDefId
) -> CallableDefId
fn intern_type_param_id(&self, key0: TypeParamId) -> InternedTypeParamId
fn lookup_intern_type_param_id(&self, key0: InternedTypeParamId) -> TypeParamId
fn intern_lifetime_param_id(
&self,
key0: LifetimeParamId
) -> InternedLifetimeParamId
fn lookup_intern_lifetime_param_id(
&self,
key0: InternedLifetimeParamId
) -> LifetimeParamId
fn intern_const_param_id(&self, key0: ConstParamId) -> InternedConstParamId
fn lookup_intern_const_param_id(
&self,
key0: InternedConstParamId
) -> ConstParamId
fn intern_impl_trait_id(&self, key0: ImplTraitId) -> InternedOpaqueTyId
fn lookup_intern_impl_trait_id(&self, key0: InternedOpaqueTyId) -> ImplTraitId
fn intern_closure(&self, key0: (DefWithBodyId, Idx<Expr>)) -> InternedClosureId
fn lookup_intern_closure(
&self,
key0: InternedClosureId
) -> (DefWithBodyId, Idx<Expr>)
fn associated_ty_data(
&self,
key0: AssocTypeId<Interner>
) -> Arc<AssociatedTyDatum<Interner>>
fn fn_def_variance(&self, key0: FnDefId<Interner>) -> Variances<Interner>
fn adt_variance(&self, key0: AdtId<Interner>) -> Variances<Interner>
fn associated_ty_value(
&self,
key0: CrateId,
key1: AssociatedTyValueId<Interner>
) -> Arc<AssociatedTyValue<Interner>>
fn trait_solve(
&self,
key0: CrateId,
key1: Canonical<InEnvironment<Goal<Interner>>>
) -> Option<Solution<Interner>>
fn trait_solve_query(
&self,
key0: CrateId,
key1: Canonical<InEnvironment<Goal<Interner>>>
) -> Option<Solution<Interner>>
fn program_clauses_for_chalk_env(
&self,
key0: CrateId,
key1: Environment<Interner>
) -> ProgramClauses<Interner>
Trait Implementations
Gets the variances for the substitution of a fn def
Gets the variances for the substitution of a adt
Implementors
impl<DB> HirDatabase for DB where
DB: DefDatabase + Upcast<dyn DefDatabase + 'static> + Database + HasQueryGroup<HirDatabaseStorage>,