pub struct SyntaxCase {
pub arg: Arc<dyn Eval>,
pub transformer: Transformer,
}
Fields§
§arg: Arc<dyn Eval>
§transformer: Transformer
Trait Implementations§
Source§impl Clone for SyntaxCase
impl Clone for SyntaxCase
Source§fn clone(&self) -> SyntaxCase
fn clone(&self) -> SyntaxCase
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Compile for SyntaxCase
impl Compile for SyntaxCase
type Error = CompileSyntaxCaseError
fn compile<'life0, 'life1, 'life2, 'life3, 'async_trait>(
exprs: &'life0 [Syntax],
env: &'life1 Env,
cont: &'life2 Option<Arc<Continuation>>,
span: &'life3 Span,
) -> Pin<Box<dyn Future<Output = Result<Self, CompileSyntaxCaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn compile_to_expr<'life0, 'life1, 'life2, 'life3, 'async_trait>(
exprs: &'life0 [Syntax],
env: &'life1 Env,
cont: &'life2 Option<Arc<Continuation>>,
span: &'life3 Span,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn Eval>, CompileError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§impl Eval for SyntaxCase
impl Eval for SyntaxCase
fn eval<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
env: &'life1 Env,
cont: &'life2 Option<Arc<Continuation>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Gc<Value>>, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn tail_eval<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
env: &'life1 Env,
cont: &'life2 Option<Arc<Continuation>>,
) -> Pin<Box<dyn Future<Output = Result<ValuesOrPreparedCall, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn tail_eval<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
env: &'life1 Env,
cont: &'life2 Option<Arc<Continuation>>,
) -> Pin<Box<dyn Future<Output = Result<ValuesOrPreparedCall, RuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Evaluate the expression in a tail environment
Source§impl Trace for SyntaxCase
impl Trace for SyntaxCase
Source§unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))
unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))
Safety Read more
Auto Trait Implementations§
impl Freeze for SyntaxCase
impl !RefUnwindSafe for SyntaxCase
impl Send for SyntaxCase
impl Sync for SyntaxCase
impl Unpin for SyntaxCase
impl !UnwindSafe for SyntaxCase
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.