pub trait PackageLoader: Send + Sync + Debug {
    // Required methods
    fn load<'life0, 'life1, 'async_trait>(
        &'life0 self,
        summary: &'life1 PackageSummary
    ) -> Pin<Box<dyn Future<Output = Result<Container, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn load_package_tree<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        root: &'life1 Container,
        resolution: &'life2 Resolution
    ) -> Pin<Box<dyn Future<Output = Result<BinaryPackage, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}

Required Methods§

source

fn load<'life0, 'life1, 'async_trait>( &'life0 self, summary: &'life1 PackageSummary ) -> Pin<Box<dyn Future<Output = Result<Container, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn load_package_tree<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, root: &'life1 Container, resolution: &'life2 Resolution ) -> Pin<Box<dyn Future<Output = Result<BinaryPackage, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Load a resolved package into memory so it can be executed.

A good default implementation is to just call load_package_tree().

Implementors§

source§

impl PackageLoader for BuiltinPackageLoader

source§

impl<D, P> PackageLoader for Dwhere D: Deref<Target = P> + Debug + Send + Sync, P: PackageLoader + ?Sized + 'static,