pub struct FunctionGlobalEnvCreator { /* private fields */ }Expand description
This is an easy way to provide a GlobalEnv creation
function to the DefaultThreadCreator.
use std::sync::Arc;
use std::sync::Mutex;
use wlambda::{GlobalEnv};
use wlambda::threads::{DefaultThreadCreator, FunctionGlobalEnvCreator};
let global_env = GlobalEnv::new_default();
global_env.borrow_mut().set_thread_creator(
Some(Arc::new(Mutex::new(
DefaultThreadCreator::new(
FunctionGlobalEnvCreator::from(
Box::new(|| GlobalEnv::new_default())))))));Implementations§
Source§impl FunctionGlobalEnvCreator
impl FunctionGlobalEnvCreator
Sourcepub fn from(fun: Box<dyn FnMut() -> GlobalEnvRef + Send>) -> Self
pub fn from(fun: Box<dyn FnMut() -> GlobalEnvRef + Send>) -> Self
Creates a new FunctionGlobalEnvCreator from a closure.
use std::sync::Arc;
use std::sync::Mutex;
use wlambda::{GlobalEnv};
use wlambda::threads::{DefaultThreadCreator, FunctionGlobalEnvCreator};
let global_env = GlobalEnv::new_default();
global_env.borrow_mut().set_thread_creator(
Some(Arc::new(Mutex::new(
DefaultThreadCreator::new(
FunctionGlobalEnvCreator::from(
Box::new(|| GlobalEnv::new_default())))))));Trait Implementations§
Source§impl ThreadGlobalEnvCreator for FunctionGlobalEnvCreator
impl ThreadGlobalEnvCreator for FunctionGlobalEnvCreator
fn new_env(&mut self) -> GlobalEnvRef
Auto Trait Implementations§
impl Freeze for FunctionGlobalEnvCreator
impl !RefUnwindSafe for FunctionGlobalEnvCreator
impl Send for FunctionGlobalEnvCreator
impl !Sync for FunctionGlobalEnvCreator
impl Unpin for FunctionGlobalEnvCreator
impl !UnwindSafe for FunctionGlobalEnvCreator
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