[][src]Enum faerie::artifact::ArtifactError

pub enum ArtifactError {
    Undeclared(String),
    ImportDefined(String),
    RelocateImport(String),
    IncompatibleDeclaration {
        old: Decl,
        new: Decl,
    },
    DuplicateDefinition(String),
    InvalidZeroInit(DefinedDecl),
    NonSectionCustomSymbols(DefinedDeclBTreeMap<String, u64>),
    UnsupportedBinaryFormat(BinaryFormat),
    UndefinedSymbols(Vec<String>),
    Goblin(Error),
    Io(Error),
}

The kinds of errors that can befall someone creating an Artifact

Variants

Undeclared(String)

Undeclarated symbolic reference

ImportDefined(String)

Attempt to define an undefined import

RelocateImport(String)

Attempt to use a relocation inside an import

IncompatibleDeclaration

An incompatble declaration occurred, please see the absorb method on Decl

Fields of IncompatibleDeclaration

old: Decl

Previously provided declaration

new: Decl

Declaration that caused this error

DuplicateDefinition(String)

A duplicate definition

InvalidZeroInit(DefinedDecl)

ZeroInit is only allowed for data

NonSectionCustomSymbols(DefinedDeclBTreeMap<String, u64>)

A non section declaration got custom symbols during definition.

UnsupportedBinaryFormat(BinaryFormat)

Artifact created with a binary format not supported by Faerie

UndefinedSymbols(Vec<String>)

Artifact contained symbols which were declared but not defined

Goblin(Error)

Output of ELF format encountered error from goblin crate

Io(Error)

Io error writing Artifact

Trait Implementations

impl Debug for ArtifactError[src]

impl Display for ArtifactError[src]

impl Error for ArtifactError[src]

impl From<Error> for ArtifactError[src]

impl From<Error> for ArtifactError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.