[][src]Enum emacs::ErrorKind

pub enum ErrorKind {
    Signal {
        symbol: TempValue,
        data: TempValue,
    },
    Throw {
        tag: TempValue,
        value: TempValue,
    },
    WrongTypeUserPtr {
        expected: &'static str,
    },
}

Error types generic to all Rust dynamic modules.

This list is intended to grow over time and it is not recommended to exhaustively match against it.

Variants

Signal

An error signaled by Lisp code.

Fields of Signal

symbol: TempValuedata: TempValue
Throw

A non-local exit thrown by Lisp code.

Fields of Throw

tag: TempValuevalue: TempValue
WrongTypeUserPtr

An error indicating that the given value is not a user-ptr of the expected type.

Examples:

#[defun]
fn wrap(x: i64) -> Result<RefCell<i64>> {
    Ok(RefCell::new(x))
}

#[defun]
fn wrap_f(x: f64) -> Result<RefCell<f64>> {
    Ok(RefCell::new(x))
}

#[defun]
fn unwrap(r: &RefCell<i64>) -> Result<i64> {
    Ok(*r.try_borrow()?)
}
(unwrap 7)          ; *** Eval error ***  Wrong type argument: user-ptrp, 7
(unwrap (wrap 7))   ; 7
(unwrap (wrap-f 7)) ; *** Eval error ***  Wrong type user-ptr: "expected: RefCell"

Fields of WrongTypeUserPtr

expected: &'static str

Trait Implementations

impl Debug for ErrorKind[src]

impl Display for ErrorKind[src]

impl Fail for ErrorKind[src]

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more

Auto Trait Implementations

Blanket Implementations

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

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.

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

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

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

impl<T> AsFail for T where
    T: Fail
[src]

impl<E> Fail for E where
    E: 'static + Error + Send + Sync
[src]

fn name(&self) -> Option<&str>[src]

Returns the "name" of the error. Read more

fn cause(&self) -> Option<&(dyn Fail + 'static)>[src]

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more

fn backtrace(&self) -> Option<&Backtrace>[src]

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more