pub trait BaseState<'tcx>: Sized {
// Required method
fn base(&self) -> Base<'tcx>;
// Provided methods
fn tcx(&self) -> TyCtxt<'tcx> { ... }
fn raise(&self, level: Level<'_>, span: Span, msg: String) { ... }
fn with_hax_owner(&self, owner: &DefId) -> StateWithOwner<'tcx> { ... }
fn with_rustc_owner(&self, owner_id: RDefId) -> StateWithOwner<'tcx> { ... }
fn base_state(&self) -> StateWithBase<'tcx> { ... }
fn with_global_cache<T>(
&self,
f: impl FnOnce(&mut GlobalCache<'tcx>) -> T,
) -> T { ... }
fn with_item_cache<T>(
&self,
def_id: &DefId,
f: impl FnOnce(&mut ItemCache<'tcx>) -> T,
) -> T { ... }
}Required Methods§
Provided Methods§
fn tcx(&self) -> TyCtxt<'tcx>
Sourcefn with_hax_owner(&self, owner: &DefId) -> StateWithOwner<'tcx>
fn with_hax_owner(&self, owner: &DefId) -> StateWithOwner<'tcx>
Create a state with the given owner.
Sourcefn with_rustc_owner(&self, owner_id: RDefId) -> StateWithOwner<'tcx>
fn with_rustc_owner(&self, owner_id: RDefId) -> StateWithOwner<'tcx>
Create a state with the given owner.
Sourcefn base_state(&self) -> StateWithBase<'tcx>
fn base_state(&self) -> StateWithBase<'tcx>
State with only access to the global state.
Sourcefn with_global_cache<T>(&self, f: impl FnOnce(&mut GlobalCache<'tcx>) -> T) -> T
fn with_global_cache<T>(&self, f: impl FnOnce(&mut GlobalCache<'tcx>) -> T) -> T
Access the global cache. You must not call sinto within this function as this will likely
result in BorrowMut panics.
Sourcefn with_item_cache<T>(
&self,
def_id: &DefId,
f: impl FnOnce(&mut ItemCache<'tcx>) -> T,
) -> T
fn with_item_cache<T>( &self, def_id: &DefId, f: impl FnOnce(&mut ItemCache<'tcx>) -> T, ) -> T
Access the cache for a given item. You must not call sinto within this function as this
will likely result in BorrowMut panics.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".