Struct spirt::qptr::analyze::InferUsage
source · pub struct InferUsage<'a> {
cx: Rc<Context>,
layout_cache: LayoutCache<'a>,
global_var_usages: IndexMap<GlobalVar, Option<Result<QPtrUsage, AnalysisError>>, BuildHasherDefault<FxHasher>>,
func_states: IndexMap<Func, FuncInferUsageState, BuildHasherDefault<FxHasher>>,
}
Fields§
§cx: Rc<Context>
§layout_cache: LayoutCache<'a>
§global_var_usages: IndexMap<GlobalVar, Option<Result<QPtrUsage, AnalysisError>>, BuildHasherDefault<FxHasher>>
§func_states: IndexMap<Func, FuncInferUsageState, BuildHasherDefault<FxHasher>>
Implementations§
source§impl<'a> InferUsage<'a>
impl<'a> InferUsage<'a>
pub fn new(cx: Rc<Context>, layout_config: &'a LayoutConfig) -> Self
pub fn infer_usage_in_module(self, module: &mut Module)
fn infer_usage_in_func( &mut self, module: &Module, func: Func ) -> FuncInferUsageState
fn infer_usage_in_func_uncached( &mut self, module: &Module, func: Func ) -> FuncInferUsageResults
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for InferUsage<'a>
impl<'a> !Send for InferUsage<'a>
impl<'a> !Sync for InferUsage<'a>
impl<'a> Unpin for InferUsage<'a>
impl<'a> !UnwindSafe for InferUsage<'a>
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