SchemeValue

Trait SchemeValue 

Source
pub trait SchemeValue<H>: Sized {
    // Required methods
    fn from_scheme(
        memory: &Memory<H>,
        value: Value,
    ) -> Result<Option<Self>, DynamicError>;
    fn into_scheme(self, memory: &mut Memory<H>) -> Result<Value, DynamicError>;
}
Expand description

A trait to convert Rust values from and into Scheme values.

Required Methods§

Source

fn from_scheme( memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Converts a Scheme value into a Rust value.

Source

fn into_scheme(self, memory: &mut Memory<H>) -> Result<Value, DynamicError>

Converts a Rust value into a Scheme value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<H> SchemeValue<H> for f32

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for f64

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for i8

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for i16

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for i32

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for i64

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for isize

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for u8

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for u16

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for u32

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for u64

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H> SchemeValue<H> for usize

Source§

fn from_scheme( _memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, _memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H: Heap> SchemeValue<H> for bool

Source§

fn from_scheme( memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, memory: &mut Memory<H>) -> Result<Value, DynamicError>

Source§

impl<H: Heap> SchemeValue<H> for String

Source§

fn from_scheme( memory: &Memory<H>, value: Value, ) -> Result<Option<Self>, DynamicError>

Source§

fn into_scheme(self, memory: &mut Memory<H>) -> Result<Value, DynamicError>

Implementors§