pub struct ProviderRegistry { /* private fields */ }Expand description
Registry of all providers.
Implementations§
Source§impl ProviderRegistry
impl ProviderRegistry
Sourcepub fn register_toolchain(&mut self, provider: Box<dyn ToolchainProvider>)
pub fn register_toolchain(&mut self, provider: Box<dyn ToolchainProvider>)
Registers a toolchain provider.
Sourcepub fn register_sysroot(&mut self, provider: Box<dyn SysrootProvider>)
pub fn register_sysroot(&mut self, provider: Box<dyn SysrootProvider>)
Registers a sysroot provider.
Sourcepub fn register_linker(&mut self, provider: Box<dyn LinkerProvider>)
pub fn register_linker(&mut self, provider: Box<dyn LinkerProvider>)
Registers a linker provider.
Sourcepub fn resolve_toolchain(
&self,
target: &TargetTriple,
host: &HostInfo,
request: &BuildRequest,
) -> Result<ToolchainResolution, CrossBuildError>
pub fn resolve_toolchain( &self, target: &TargetTriple, host: &HostInfo, request: &BuildRequest, ) -> Result<ToolchainResolution, CrossBuildError>
Resolves the best toolchain provider for a target.
Sourcepub fn resolve_sysroot(
&self,
target: &TargetTriple,
host: &HostInfo,
request: &BuildRequest,
) -> Result<Option<SysrootResolution>, CrossBuildError>
pub fn resolve_sysroot( &self, target: &TargetTriple, host: &HostInfo, request: &BuildRequest, ) -> Result<Option<SysrootResolution>, CrossBuildError>
Resolves the best sysroot provider for a target.
Sourcepub fn resolve_linker(
&self,
target: &TargetTriple,
host: &HostInfo,
request: &BuildRequest,
) -> Result<LinkerResolution, CrossBuildError>
pub fn resolve_linker( &self, target: &TargetTriple, host: &HostInfo, request: &BuildRequest, ) -> Result<LinkerResolution, CrossBuildError>
Resolves the best linker provider for a target.
Sourcepub fn toolchain_provider_names(&self) -> Vec<&str>
pub fn toolchain_provider_names(&self) -> Vec<&str>
Returns names of registered toolchain providers.
Sourcepub fn sysroot_provider_names(&self) -> Vec<&str>
pub fn sysroot_provider_names(&self) -> Vec<&str>
Returns names of registered sysroot providers.
Sourcepub fn linker_provider_names(&self) -> Vec<&str>
pub fn linker_provider_names(&self) -> Vec<&str>
Returns names of registered linker providers.
Sourcepub fn get_toolchain_provider(
&self,
name: &str,
) -> Option<&Arc<dyn ToolchainProvider>>
pub fn get_toolchain_provider( &self, name: &str, ) -> Option<&Arc<dyn ToolchainProvider>>
Gets a toolchain provider by name.
Sourcepub fn get_sysroot_provider(
&self,
name: &str,
) -> Option<&Arc<dyn SysrootProvider>>
pub fn get_sysroot_provider( &self, name: &str, ) -> Option<&Arc<dyn SysrootProvider>>
Gets a sysroot provider by name.
Sourcepub fn get_linker_provider(
&self,
name: &str,
) -> Option<&Arc<dyn LinkerProvider>>
pub fn get_linker_provider( &self, name: &str, ) -> Option<&Arc<dyn LinkerProvider>>
Gets a linker provider by name.
Sourcepub fn resolve_all(
&self,
target: &TargetTriple,
host: &HostInfo,
request: &BuildRequest,
) -> Result<CompleteResolution, CrossBuildError>
pub fn resolve_all( &self, target: &TargetTriple, host: &HostInfo, request: &BuildRequest, ) -> Result<CompleteResolution, CrossBuildError>
Resolves all providers for a target and returns a complete resolution.
Trait Implementations§
Source§impl Debug for ProviderRegistry
impl Debug for ProviderRegistry
Auto Trait Implementations§
impl !RefUnwindSafe for ProviderRegistry
impl !UnwindSafe for ProviderRegistry
impl Freeze for ProviderRegistry
impl Send for ProviderRegistry
impl Sync for ProviderRegistry
impl Unpin for ProviderRegistry
impl UnsafeUnpin for ProviderRegistry
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more