pub enum Error {
    Compile,
    Io(Error),
    LibLoading(Error),
    InitializeModel(Error),
    NoModelRegistered,
    Shape(Error),
    Notify(Error),
    CargoMetadata(Error),
    AmbiguousPath {
        dir: PathBuf,
        possible_paths: Vec<PathBuf>,
    },
}
Expand description

An error that can occur when loading or reloading a model

Variants

Compile

Model failed to compile

Io(Error)

I/O error while loading the model

LibLoading(Error)

Failed to load the model’s dynamic library

InitializeModel(Error)

Initializing a model failed.

NoModelRegistered

The user forgot to register a model when calling fj::register_model!().

Shape(Error)

An error was returned from fj::models::Model::shape().

Notify(Error)

Error while watching the model code for changes

CargoMetadata(Error)

An error occurred while trying to use evaluate cargo_metadata::MetadataCommand.

AmbiguousPath

Fields

dir: PathBuf

The model directory supplied by the user.

possible_paths: Vec<PathBuf>

The directories for each crate in the workspace, relative to the workspace root.

The user pointed us to a directory, but it doesn’t look like that was a crate root (i.e. the folder containing Cargo.toml).

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

👎Deprecated since 1.42.0:

use the Display impl or to_string()

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

🔬This is a nightly-only experimental API. (error_generic_member_access)

Provides type based access to context intended for error reports. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

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

🔬This is a nightly-only experimental API. (provide_any)

Data providers should implement this method to provide all values they are able to provide by using demand. Read more

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.