pub trait CrateStore<'tcx> {
Show 25 methods
// Required methods
fn fn_sig(&self, def_id: DefId) -> OptResult<EarlyBinder<PolyFnSig>>;
fn adt_def(&self, def_id: DefId) -> OptResult<AdtDef>;
fn adt_sort_def(&self, def_id: DefId) -> OptResult<AdtSortDef>;
fn generics_of(&self, def_id: DefId) -> OptResult<Generics>;
fn refinement_generics_of(
&self,
def_id: DefId,
) -> OptResult<EarlyBinder<RefinementGenerics>>;
fn item_bounds(&self, def_id: DefId) -> OptResult<EarlyBinder<Clauses>>;
fn predicates_of(
&self,
def_id: DefId,
) -> OptResult<EarlyBinder<GenericPredicates>>;
fn assoc_refinements_of(&self, def_id: DefId) -> OptResult<AssocRefinements>;
fn constant_info(&self, def_id: DefId) -> OptResult<ConstantInfo>;
fn static_info(&self, def_id: DefId) -> OptResult<StaticInfo>;
fn assoc_refinements_def(
&self,
key: FluxDefId,
) -> OptResult<EarlyBinder<Lambda>>;
fn default_assoc_refinements_def(
&self,
key: FluxDefId,
) -> OptResult<Option<EarlyBinder<Lambda>>>;
fn sort_of_assoc_reft(
&self,
key: FluxDefId,
) -> OptResult<EarlyBinder<FuncSort>>;
fn variants_of(
&self,
def_id: DefId,
) -> OptResult<Opaqueness<EarlyBinder<PolyVariants>>>;
fn type_of(&self, def_id: DefId) -> OptResult<EarlyBinder<TyOrCtor>>;
fn normalized_defns(&self, krate: CrateNum) -> Rc<NormalizedDefns>;
fn flux_module_children(&self, def_id: DefId) -> Option<&[FluxModChild]>;
fn func_sort(&self, def_id: FluxDefId) -> Option<PolyFuncSort>;
fn func_span(&self, def_id: FluxDefId) -> Option<Span>;
fn sort_decl_param_count(&self, def_id: FluxDefId) -> Option<usize>;
fn no_panic(&self, def_id: DefId) -> Option<bool>;
fn assume_parametric_params(&self, def_id: DefId) -> Option<UnordSet<u32>>;
fn spec_attr_span(&self, def_id: DefId) -> Option<Span>;
fn inferred_no_panic(
&self,
krate: CrateNum,
) -> Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>;
fn has_crate(&self, krate: CrateNum) -> bool;
}Required Methods§
fn fn_sig(&self, def_id: DefId) -> OptResult<EarlyBinder<PolyFnSig>>
fn adt_def(&self, def_id: DefId) -> OptResult<AdtDef>
fn adt_sort_def(&self, def_id: DefId) -> OptResult<AdtSortDef>
fn generics_of(&self, def_id: DefId) -> OptResult<Generics>
fn refinement_generics_of( &self, def_id: DefId, ) -> OptResult<EarlyBinder<RefinementGenerics>>
fn item_bounds(&self, def_id: DefId) -> OptResult<EarlyBinder<Clauses>>
fn predicates_of( &self, def_id: DefId, ) -> OptResult<EarlyBinder<GenericPredicates>>
fn assoc_refinements_of(&self, def_id: DefId) -> OptResult<AssocRefinements>
fn constant_info(&self, def_id: DefId) -> OptResult<ConstantInfo>
fn static_info(&self, def_id: DefId) -> OptResult<StaticInfo>
fn assoc_refinements_def( &self, key: FluxDefId, ) -> OptResult<EarlyBinder<Lambda>>
fn default_assoc_refinements_def( &self, key: FluxDefId, ) -> OptResult<Option<EarlyBinder<Lambda>>>
fn sort_of_assoc_reft(&self, key: FluxDefId) -> OptResult<EarlyBinder<FuncSort>>
fn variants_of( &self, def_id: DefId, ) -> OptResult<Opaqueness<EarlyBinder<PolyVariants>>>
fn type_of(&self, def_id: DefId) -> OptResult<EarlyBinder<TyOrCtor>>
fn normalized_defns(&self, krate: CrateNum) -> Rc<NormalizedDefns>
fn flux_module_children(&self, def_id: DefId) -> Option<&[FluxModChild]>
fn func_sort(&self, def_id: FluxDefId) -> Option<PolyFuncSort>
fn func_span(&self, def_id: FluxDefId) -> Option<Span>
fn sort_decl_param_count(&self, def_id: FluxDefId) -> Option<usize>
fn no_panic(&self, def_id: DefId) -> Option<bool>
fn assume_parametric_params(&self, def_id: DefId) -> Option<UnordSet<u32>>
fn spec_attr_span(&self, def_id: DefId) -> Option<Span>
fn inferred_no_panic( &self, krate: CrateNum, ) -> Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>
fn has_crate(&self, krate: CrateNum) -> bool
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".