tea-actorx2-core 0.2.0-dev.16

The TEA SDK
Documentation
#![feature(min_specialization)]
#![feature(const_trait_impl)]
#![feature(auto_traits)]
#![feature(negative_impls)]

extern crate tea_codec as tea_sdk;

pub mod actor;
pub mod error;
pub mod metadata;
#[cfg(feature = "sign")]
pub mod sign;

#[doc(hidden)]
pub mod worker_codec;

#[macro_export]
macro_rules! blocking {
	{let $capi:ident = &$capv:expr; $($e:tt)*} => {{
        let $capi = {
            fn capture<T>(v: &T) -> &'static T {
                unsafe { &*(v as *const T) }
            }
            capture(&$capv)
        };
		::tokio::task::spawn_blocking(move || { $($e)* }).await.unwrap()
	}};
	{let $capi:ident = &mut $capv:expr; $($e:tt)*} => {{
        let $capi = {
            fn capture_mut<T>(v: &mut T) -> &'static mut T {
                unsafe { &mut *(v as *mut T) }
            }
            capture_mut(&mut $capv)
        };
		::tokio::task::spawn_blocking(move || { $($e)* }).await.unwrap()
	}};
}

#[cfg(feature = "worker")]
pub mod wasm;