pub trait OwnedHeapAnalysis: Analysis {
    // Required method
    fn get_all_items(&self) -> OHAResultMap;
    // Provided methods
    fn is_heapowner<'tcx>(
        hares: OHAResultMap,
        ty: Ty<'tcx>,
    ) -> Result<bool, &'static str> { ... }
    fn maybe_heapowner<'tcx>(
        hares: OHAResultMap,
        ty: Ty<'tcx>,
    ) -> Result<bool, &'static str> { ... }
}Expand description
This trait provides features for owned heap analysis, which is used to determine if a type owns memory on heap. Owned heap should be automatically released by default.
Required Methods§
Sourcefn get_all_items(&self) -> OHAResultMap
 
fn get_all_items(&self) -> OHAResultMap
The function returns the result of owned heap analysis for all types.
Provided Methods§
Sourcefn is_heapowner<'tcx>(
    hares: OHAResultMap,
    ty: Ty<'tcx>,
) -> Result<bool, &'static str>
 
fn is_heapowner<'tcx>( hares: OHAResultMap, ty: Ty<'tcx>, ) -> Result<bool, &'static str>
If a type is a heap owner, the function returns Result
Sourcefn maybe_heapowner<'tcx>(
    hares: OHAResultMap,
    ty: Ty<'tcx>,
) -> Result<bool, &'static str>
 
fn maybe_heapowner<'tcx>( hares: OHAResultMap, ty: Ty<'tcx>, ) -> Result<bool, &'static str>
A type might be a heap owner if it is not a heap owner directly but contains type parameters that may make the type become a heap owner after monomorphization.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.