Skip to main content

LoaderError

Enum LoaderError 

Source
pub enum LoaderError {
    LibraryNotFound {
        library: &'static str,
        candidates: Vec<&'static str>,
        search_paths: usize,
    },
    SymbolNotFound {
        library: &'static str,
        symbol: &'static str,
    },
    VersionTooOld {
        symbol: &'static str,
        required: CudaVersion,
        installed: CudaVersion,
    },
    Libloading(Error),
    UnsupportedPlatform {
        platform: &'static str,
    },
}
Expand description

An error raised by the dynamic loader.

These surface whenever an NVIDIA shared library or one of its symbols cannot be resolved at runtime — typically because CUDA is not installed, the installed driver is older than what baracuda was built against, or the user is on a platform NVIDIA doesn’t support.

Variants§

§

LibraryNotFound

None of the candidate library filenames resolved anywhere on the library search path.

Fields

§library: &'static str
§candidates: Vec<&'static str>
§search_paths: usize
§

SymbolNotFound

The library was loaded but did not export the requested symbol.

Fields

§library: &'static str
§symbol: &'static str
§

VersionTooOld

cuGetProcAddress returned CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT for symbol: the installed driver does not provide it at the version baracuda asked for.

Fields

§symbol: &'static str
§required: CudaVersion
§installed: CudaVersion
§

Libloading(Error)

Raw libloading error — kept for platform-specific diagnostics that the other variants can’t express (e.g. a missing dependency on a chained .so).

§

UnsupportedPlatform

baracuda does not target this platform (e.g. macOS).

Fields

§platform: &'static str

Implementations§

Source§

impl LoaderError

Source

pub fn library_not_found( library: &'static str, candidates: &[&'static str], ) -> Self

Convenience constructor for the common case of “tried these names, none worked”.

As above, but records how many directories were searched.

Trait Implementations§

Source§

impl Debug for LoaderError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for LoaderError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for LoaderError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for LoaderError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<LoaderError> for BaracudaError

Source§

fn from(source: LoaderError) -> Self

Converts to this type from the input type.
Source§

impl<S> From<LoaderError> for Error<S>
where S: CudaStatus + Send + Sync + 'static,

Source§

fn from(source: LoaderError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.