iex 0.2.0

Idiomatic exceptions
Documentation
use iex::{iex, Outcome};

#[iex]
fn identity<T>(a: T) -> Result<T, ()> {
    Ok(a)
}

#[iex]
fn default<T: Default>() -> Result<T, ()> {
    Ok(Default::default())
}

#[iex]
fn drop<T>(_x: T) -> Result<(), ()> {
    Ok(())
}

#[iex]
fn drop_apit(_x: impl Send) -> Result<(), ()> {
    Ok(())
}

#[test]
fn generics() {
    assert_eq!(identity(123).into_result(), Ok(123));
    assert_eq!(default().into_result(), Ok(0));
    assert_eq!(drop(123).into_result(), Ok(()));
    assert_eq!(drop_apit(123).into_result(), Ok(()));
}