[][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]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<E> Fail for E where
    E: 'static + Error + Send + Sync
[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.