pub trait AliasAnalysis: Analysis {
// Required methods
fn get_fn_alias(&self, def_id: DefId) -> Option<FnAliasPairs>;
fn get_all_fn_alias(&self) -> FnAliasMap;
// Provided methods
fn get_local_fn_alias(&self) -> FnAliasMap { ... }
fn get_local_origins(&self, _def_id: DefId) -> LocalOriginMap { ... }
fn get_self_field_origin(
&self,
_def_id: DefId,
_local: usize,
_fields: &[usize],
) -> Option<FieldOrigin> { ... }
}Expand description
This trait provides features related to alias analysis.
Required Methods§
Sourcefn get_fn_alias(&self, def_id: DefId) -> Option<FnAliasPairs>
fn get_fn_alias(&self, def_id: DefId) -> Option<FnAliasPairs>
Return the aliases among the function arguments and return value of a specific function.
Sourcefn get_all_fn_alias(&self) -> FnAliasMap
fn get_all_fn_alias(&self) -> FnAliasMap
Return the aliases among the function arguments and return value for all functions.
Provided Methods§
Sourcefn get_local_fn_alias(&self) -> FnAliasMap
fn get_local_fn_alias(&self) -> FnAliasMap
Return the aliases among the function arguments and return value for functions of the local crate.
Sourcefn get_local_origins(&self, _def_id: DefId) -> LocalOriginMap
fn get_local_origins(&self, _def_id: DefId) -> LocalOriginMap
Return the intra-procedural local → origin mapping for a function. Default returns empty; analyser implementations may override with cached or MoP-based results.
Sourcefn get_self_field_origin(
&self,
_def_id: DefId,
_local: usize,
_fields: &[usize],
) -> Option<FieldOrigin>
fn get_self_field_origin( &self, _def_id: DefId, _local: usize, _fields: &[usize], ) -> Option<FieldOrigin>
If a place (local + field projections) in a method body resolves to a
struct’s self.field, return the field identity.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".