pub trait PackageSourceProvider {
// Required method
fn acquire_git<'a>(
&'a self,
plan: &'a GitAcquisitionPlan,
) -> Pin<Box<dyn Future<Output = Result<GitPackageMount, String>> + 'a>>;
// Provided methods
fn acquire_server_project<'a>(
&'a self,
_plan: &'a ServerProjectAcquisitionPlan,
) -> Pin<Box<dyn Future<Output = Result<ServerProjectPackageMount, String>> + 'a>> { ... }
fn acquire_registry<'a>(
&'a self,
_plan: &'a RegistryAcquisitionPlan,
) -> Pin<Box<dyn Future<Output = Result<RegistryPackageMount, String>> + 'a>> { ... }
fn registry_candidates<'a>(
&'a self,
_plan: &'a RegistryCandidatePlan,
) -> Pin<Box<dyn Future<Output = Result<Vec<RegistryCandidateRecord>, String>> + 'a>> { ... }
}Required Methods§
fn acquire_git<'a>( &'a self, plan: &'a GitAcquisitionPlan, ) -> Pin<Box<dyn Future<Output = Result<GitPackageMount, String>> + 'a>>
Provided Methods§
fn acquire_server_project<'a>( &'a self, _plan: &'a ServerProjectAcquisitionPlan, ) -> Pin<Box<dyn Future<Output = Result<ServerProjectPackageMount, String>> + 'a>>
fn acquire_registry<'a>( &'a self, _plan: &'a RegistryAcquisitionPlan, ) -> Pin<Box<dyn Future<Output = Result<RegistryPackageMount, String>> + 'a>>
fn registry_candidates<'a>( &'a self, _plan: &'a RegistryCandidatePlan, ) -> Pin<Box<dyn Future<Output = Result<Vec<RegistryCandidateRecord>, String>> + 'a>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".