[−][src]Trait arithmetic_eval::fns::IntoEvalResult
Converts type into Value
or an error. This is used to convert the return type
of wrapped functions to the result expected by NativeFn
.
Unlike with TryInto
trait from the standard library, the erroneous result here does not
mean that the conversion itself is impossible. Rather, it means that the function evaluation
has failed for the provided args.
This trait is implemented for base value types (such as Number
s, Function
s, Value
s),
for two container types: vectors and tuples, and for Result
s with the error type
convertible to ErrorOutput
.
Required methods
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
Performs the conversion.
Implementations on Foreign Types
impl<'a, T, U> IntoEvalResult<'a, T> for Result<U, String> where
U: IntoEvalResult<'a, T>,
[src]
U: IntoEvalResult<'a, T>,
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, T, U> IntoEvalResult<'a, T> for Result<U, Error<'a>> where
U: IntoEvalResult<'a, T>,
[src]
U: IntoEvalResult<'a, T>,
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, T> IntoEvalResult<'a, T> for ()
[src]
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, T> IntoEvalResult<'a, T> for bool
[src]
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, T> IntoEvalResult<'a, T> for Ordering
[src]
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, U, T> IntoEvalResult<'a, T> for Vec<U> where
U: IntoEvalResult<'a, T>,
[src]
U: IntoEvalResult<'a, T>,
pub fn into_eval_result(self) -> Result<Value<'a, T>, ErrorOutput<'a>>
[src]
impl<'a, Num, T> IntoEvalResult<'a, Num> for (T,) where
T: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U> IntoEvalResult<'a, Num> for (T, U) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V> IntoEvalResult<'a, Num> for (T, U, V) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W> IntoEvalResult<'a, Num> for (T, U, V, W) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X> IntoEvalResult<'a, Num> for (T, U, V, W, X) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X, Y> IntoEvalResult<'a, Num> for (T, U, V, W, X, Y) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X, Y, Z> IntoEvalResult<'a, Num> for (T, U, V, W, X, Y, Z) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X, Y, Z, A> IntoEvalResult<'a, Num> for (T, U, V, W, X, Y, Z, A) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X, Y, Z, A, B> IntoEvalResult<'a, Num> for (T, U, V, W, X, Y, Z, A, B) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
B: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
B: IntoEvalResult<'a, Num>,
pub fn into_eval_result(self) -> Result<Value<'a, Num>, ErrorOutput<'a>>
[src]
impl<'a, Num, T, U, V, W, X, Y, Z, A, B, C> IntoEvalResult<'a, Num> for (T, U, V, W, X, Y, Z, A, B, C) where
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
B: IntoEvalResult<'a, Num>,
C: IntoEvalResult<'a, Num>,
[src]
T: IntoEvalResult<'a, Num>,
U: IntoEvalResult<'a, Num>,
V: IntoEvalResult<'a, Num>,
W: IntoEvalResult<'a, Num>,
X: IntoEvalResult<'a, Num>,
Y: IntoEvalResult<'a, Num>,
Z: IntoEvalResult<'a, Num>,
A: IntoEvalResult<'a, Num>,
B: IntoEvalResult<'a, Num>,
C: IntoEvalResult<'a, Num>,