pub enum Error {
    LoadingLibrary(Error),
    LoadingVersion(Error),
    LoadingInit(Error),
    VersionMismatch {
        host: String,
        model: String,
    },
    Compile {
        output: String,
    },
    Io(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

LoadingLibrary(Error)

Error loading model library

LoadingVersion(Error)

Error loading Fornjot version that the model uses

LoadingInit(Error)

Error loading the model’s init function

VersionMismatch

Fields

host: String

The host version

model: String

The model version

Host version and model version do not match

Compile

Fields

output: String

The compiler output

Model failed to compile

Io(Error)

I/O error while loading the model

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.

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.