pub struct Queries<'genv, 'tcx> {Show 38 fields
pub(crate) providers: Providers,
queried_def_ids: RefCell<UnordSet<DefId>>,
mir: RefCell<UnordMap<LocalDefId, QueryResult<Rc<BodyRoot<'tcx>>>>>,
collect_specs: OnceCell<Specs>,
resolve_crate: OnceCell<ResolverOutput>,
desugar: RefCell<UnordMap<LocalDefId, QueryResult<Node<'genv>>>>,
fhir_attr_map: RefCell<UnordMap<LocalDefId, AttrMap<'genv>>>,
fhir_crate: OnceCell<FluxItems<'genv>>,
lower_generics_of: RefCell<UnordMap<DefId, Generics<'tcx>>>,
lower_predicates_of: RefCell<UnordMap<DefId, QueryResult<GenericPredicates>>>,
lower_type_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<Ty>>>>,
lower_fn_sig: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<PolyFnSig>>>>,
normalized_defns: RefCell<UnordMap<CrateNum, Rc<NormalizedDefns>>>,
func_sort: RefCell<UnordMap<FluxDefId, PolyFuncSort>>,
func_span: RefCell<UnordMap<FluxDefId, Span>>,
qualifiers: OnceCell<QueryResult<Vec<Qualifier>>>,
prim_rel: OnceCell<QueryResult<UnordMap<BinOp, PrimRel>>>,
adt_sort_def_of: RefCell<UnordMap<DefId, QueryResult<AdtSortDef>>>,
check_wf: RefCell<UnordMap<LocalDefId, QueryResult<Rc<WfckResults>>>>,
adt_def: RefCell<UnordMap<DefId, QueryResult<AdtDef>>>,
constant_info: RefCell<UnordMap<DefId, QueryResult<ConstantInfo>>>,
static_info: RefCell<UnordMap<DefId, QueryResult<StaticInfo>>>,
generics_of: RefCell<UnordMap<DefId, QueryResult<Generics>>>,
refinement_generics_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<RefinementGenerics>>>>,
predicates_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<GenericPredicates>>>>,
assoc_refinements_of: RefCell<UnordMap<DefId, QueryResult<AssocRefinements>>>,
assoc_refinement_body: RefCell<UnordMap<FluxDefId, QueryResult<EarlyBinder<Lambda>>>>,
default_assoc_refinement_body: RefCell<UnordMap<FluxDefId, QueryResult<Option<EarlyBinder<Lambda>>>>>,
sort_of_assoc_reft: RefCell<UnordMap<FluxDefId, QueryResult<EarlyBinder<FuncSort>>>>,
item_bounds: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<List<Clause>>>>>,
type_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<TyOrCtor>>>>,
variants_of: RefCell<UnordMap<DefId, QueryResult<Opaqueness<EarlyBinder<PolyVariants>>>>>,
fn_sig: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<PolyFnSig>>>>,
sort_decl_param_count: RefCell<UnordMap<FluxDefId, usize>>,
no_panic: RefCell<UnordMap<DefId, bool>>,
assume_parametric_params: RefCell<UnordMap<DefId, UnordSet<u32>>>,
call_graph: OnceCell<CallGraph<'tcx>>,
inferred_no_panic: OnceCell<Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>>,
}Fields§
§providers: Providers§queried_def_ids: RefCell<UnordSet<DefId>>The set of def ids that have been queried.
After checking the crate, this set contains all items transitively reached from the set of explicitly included items. We use this set to avoid triggering queries for items not included when encoding metadata.
mir: RefCell<UnordMap<LocalDefId, QueryResult<Rc<BodyRoot<'tcx>>>>>§collect_specs: OnceCell<Specs>§resolve_crate: OnceCell<ResolverOutput>§desugar: RefCell<UnordMap<LocalDefId, QueryResult<Node<'genv>>>>§fhir_attr_map: RefCell<UnordMap<LocalDefId, AttrMap<'genv>>>§fhir_crate: OnceCell<FluxItems<'genv>>§lower_generics_of: RefCell<UnordMap<DefId, Generics<'tcx>>>§lower_predicates_of: RefCell<UnordMap<DefId, QueryResult<GenericPredicates>>>§lower_type_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<Ty>>>>§lower_fn_sig: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<PolyFnSig>>>>§normalized_defns: RefCell<UnordMap<CrateNum, Rc<NormalizedDefns>>>§func_sort: RefCell<UnordMap<FluxDefId, PolyFuncSort>>§func_span: RefCell<UnordMap<FluxDefId, Span>>§qualifiers: OnceCell<QueryResult<Vec<Qualifier>>>§prim_rel: OnceCell<QueryResult<UnordMap<BinOp, PrimRel>>>§adt_sort_def_of: RefCell<UnordMap<DefId, QueryResult<AdtSortDef>>>§check_wf: RefCell<UnordMap<LocalDefId, QueryResult<Rc<WfckResults>>>>§adt_def: RefCell<UnordMap<DefId, QueryResult<AdtDef>>>§constant_info: RefCell<UnordMap<DefId, QueryResult<ConstantInfo>>>§static_info: RefCell<UnordMap<DefId, QueryResult<StaticInfo>>>§generics_of: RefCell<UnordMap<DefId, QueryResult<Generics>>>§refinement_generics_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<RefinementGenerics>>>>§predicates_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<GenericPredicates>>>>§assoc_refinements_of: RefCell<UnordMap<DefId, QueryResult<AssocRefinements>>>§assoc_refinement_body: RefCell<UnordMap<FluxDefId, QueryResult<EarlyBinder<Lambda>>>>§default_assoc_refinement_body: RefCell<UnordMap<FluxDefId, QueryResult<Option<EarlyBinder<Lambda>>>>>§sort_of_assoc_reft: RefCell<UnordMap<FluxDefId, QueryResult<EarlyBinder<FuncSort>>>>§item_bounds: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<List<Clause>>>>>§type_of: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<TyOrCtor>>>>§variants_of: RefCell<UnordMap<DefId, QueryResult<Opaqueness<EarlyBinder<PolyVariants>>>>>§fn_sig: RefCell<UnordMap<DefId, QueryResult<EarlyBinder<PolyFnSig>>>>§sort_decl_param_count: RefCell<UnordMap<FluxDefId, usize>>§no_panic: RefCell<UnordMap<DefId, bool>>§assume_parametric_params: RefCell<UnordMap<DefId, UnordSet<u32>>>§call_graph: OnceCell<CallGraph<'tcx>>§inferred_no_panic: OnceCell<Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>>The no-panic inference result for the local crate, keyed by NodeKey.
Implementations§
Source§impl<'genv, 'tcx> Queries<'genv, 'tcx>
impl<'genv, 'tcx> Queries<'genv, 'tcx>
pub(crate) fn new(providers: Providers) -> Self
pub(crate) fn queried(&self, def_id: DefId) -> bool
pub(crate) fn mir( &self, genv: GlobalEnv<'genv, 'tcx>, def_id: LocalDefId, ) -> QueryResult<Rc<BodyRoot<'tcx>>>
pub(crate) fn collect_specs( &'genv self, genv: GlobalEnv<'genv, 'tcx>, ) -> &'genv Specs
pub(crate) fn resolve_crate( &'genv self, genv: GlobalEnv<'genv, 'tcx>, ) -> &'genv ResolverOutput
pub(crate) fn desugar( &'genv self, genv: GlobalEnv<'genv, 'tcx>, def_id: LocalDefId, ) -> QueryResult<Node<'genv>>
pub(crate) fn fhir_attr_map( &'genv self, genv: GlobalEnv<'genv, 'tcx>, def_id: LocalDefId, ) -> AttrMap<'genv>
pub(crate) fn fhir_crate( &'genv self, genv: GlobalEnv<'genv, 'tcx>, ) -> &'genv FluxItems<'genv>
pub(crate) fn lower_generics_of( &self, genv: GlobalEnv<'genv, 'tcx>, def_id: DefId, ) -> Generics<'tcx>
pub(crate) fn lower_predicates_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<GenericPredicates>
pub(crate) fn lower_type_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<Ty>>
pub(crate) fn lower_fn_sig( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<PolyFnSig>>
pub(crate) fn normalized_defns( &self, genv: GlobalEnv<'_, '_>, krate: CrateNum, ) -> Rc<NormalizedDefns>
pub(crate) fn func_sort( &self, genv: GlobalEnv<'_, '_>, def_id: FluxDefId, ) -> PolyFuncSort
pub(crate) fn func_span( &self, genv: GlobalEnv<'_, '_>, def_id: FluxDefId, ) -> Span
pub(crate) fn qualifiers( &self, genv: GlobalEnv<'_, '_>, ) -> QueryResult<&[Qualifier]>
pub(crate) fn prim_rel( &self, genv: GlobalEnv<'_, '_>, ) -> QueryResult<&UnordMap<BinOp, PrimRel>>
pub(crate) fn adt_sort_def_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<AdtSortDef>
pub(crate) fn sort_decl_param_count( &self, genv: GlobalEnv<'_, '_>, def_id: FluxDefId, ) -> usize
pub(crate) fn check_wf( &self, genv: GlobalEnv<'genv, '_>, def_id: LocalDefId, ) -> QueryResult<Rc<WfckResults>>
pub(crate) fn constant_info( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<ConstantInfo>
pub fn call_graph( &'genv self, genv: GlobalEnv<'genv, 'tcx>, ) -> &'genv CallGraph<'tcx>
Sourcepub fn inferred_no_panic(
&'genv self,
genv: GlobalEnv<'genv, 'tcx>,
) -> Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>
pub fn inferred_no_panic( &'genv self, genv: GlobalEnv<'genv, 'tcx>, ) -> Rc<UnordMap<NodeKey<'tcx>, PanicSpec>>
The no-panic inference result for the local crate, keyed by NodeKey.
pub(crate) fn static_info( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<StaticInfo>
pub(crate) fn no_panic(&self, genv: GlobalEnv<'_, '_>, def_id: DefId) -> bool
pub(crate) fn assume_parametric_params( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> UnordSet<u32>
pub(crate) fn adt_def( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<AdtDef>
pub(crate) fn generics_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<Generics>
pub(crate) fn refinement_generics_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<RefinementGenerics>>
pub(crate) fn item_bounds( &self, genv: GlobalEnv<'genv, 'tcx>, def_id: DefId, ) -> QueryResult<EarlyBinder<List<Clause>>>
pub(crate) fn predicates_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<GenericPredicates>>
pub(crate) fn assoc_refinements_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<AssocRefinements>
pub(crate) fn assoc_refinement_body( &self, genv: GlobalEnv<'_, '_>, impl_assoc_id: FluxDefId, ) -> QueryResult<EarlyBinder<Lambda>>
pub(crate) fn default_assoc_refinement_body( &self, genv: GlobalEnv<'_, '_>, trait_assoc_id: FluxDefId, ) -> QueryResult<Option<EarlyBinder<Lambda>>>
pub(crate) fn sort_of_assoc_reft( &self, genv: GlobalEnv<'_, '_>, assoc_id: FluxDefId, ) -> QueryResult<EarlyBinder<FuncSort>>
pub(crate) fn type_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<TyOrCtor>>
pub(crate) fn variants_of( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<Opaqueness<EarlyBinder<PolyVariants>>>
pub(crate) fn fn_sig( &self, genv: GlobalEnv<'_, '_>, def_id: DefId, ) -> QueryResult<EarlyBinder<PolyFnSig>>
Auto Trait Implementations§
impl<'genv, 'tcx> !Freeze for Queries<'genv, 'tcx>
impl<'genv, 'tcx> !RefUnwindSafe for Queries<'genv, 'tcx>
impl<'genv, 'tcx> !Send for Queries<'genv, 'tcx>
impl<'genv, 'tcx> !Sync for Queries<'genv, 'tcx>
impl<'genv, 'tcx> Unpin for Queries<'genv, 'tcx>
impl<'genv, 'tcx> !UnwindSafe for Queries<'genv, 'tcx>
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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