Struct cl_interpret::builtin::add
source · pub struct add;
Expand description
Addition a + b
ⓘ
builtin! fn add (lhs, rhs) -> IResult<ConValue>
{
Ok(match (lhs, rhs) {
(ConValue::Empty, ConValue::Empty) => ConValue::Empty,
(ConValue::Int(a), ConValue::Int(b)) => ConValue::Int(a + b),
(ConValue::String(a), ConValue::String(b)) =>
(a.to_string() + &b.to_string()).into(),
_ => Err(Error::TypeError)?,
})
}
Trait Implementations§
source§impl Callable for add
impl Callable for add
source§fn call(&self, env: &mut Environment, args: &[ConValue]) -> IResult<ConValue>
fn call(&self, env: &mut Environment, args: &[ConValue]) -> IResult<ConValue>
Calls this Callable in the provided Environment, with ConValue args
The Callable is responsible for checking the argument count and validating types
The Callable is responsible for checking the argument count and validating types
Auto Trait Implementations§
impl Freeze for add
impl RefUnwindSafe for add
impl Send for add
impl Sync for add
impl Unpin for add
impl UnwindSafe for add
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more