Struct conch_runtime::env::EnvConfig [−][src]
pub struct EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR> {
pub interactive: bool,
pub args_env: A,
pub async_io_env: IO,
pub file_desc_env: FD,
pub last_status_env: L,
pub var_env: V,
pub exec_env: EX,
pub working_dir_env: WD,
pub fn_name: PhantomData<N>,
pub fn_error: PhantomData<ERR>,
}A struct for configuring a new Env instance.
It implements Default (via DefaultEnvConfig alias) so it is possible
to selectively override certain environment modules while retaining the rest
of the default implementations.
let lp = tokio_core::reactor::Core::new().unwrap(); let env = Env::with_config(EnvConfig { args_env: ArgsEnv::with_name(Rc::new(String::from("my_shell"))), .. DefaultEnvConfig::new(lp.remote(), None).expect("failed to create config") }); assert_eq!(**env.name(), "my_shell");
Fields
interactive: bool
Specify if the environment is running in interactive mode.
args_env: A
An implementation of ArgumentsEnvironment and possibly SetArgumentsEnvironment.
async_io_env: IO
An implementation of AsyncIoEnvironment.
file_desc_env: FD
An implementation of FileDescEnvironment.
last_status_env: L
An implementation of LastStatusEnvironment.
var_env: V
An implementation of VariableEnvironment, UnsetVariableEnvironment, and
ExportedVariableEnvironment.
exec_env: EX
An implementation of ExecutableEnvironment.
working_dir_env: WD
An implementation of WorkingDirectoryEnvironment.
fn_name: PhantomData<N>
A marker to indicate the type used for function names.
fn_error: PhantomData<ERR>
A marker to indicate the type used for function errors.
Methods
impl<A, IO, FD, L, V, EX, WD, N, ERR> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A, IO, FD, L, V, EX, WD, N, ERR> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>pub fn change_args_env<T>(
self,
args_env: T
) -> EnvConfig<T, IO, FD, L, V, EX, WD, N, ERR>[src]
pub fn change_args_env<T>(
self,
args_env: T
) -> EnvConfig<T, IO, FD, L, V, EX, WD, N, ERR>Change the type of the args_env instance.
pub fn change_async_io_env<T>(
self,
async_io_env: T
) -> EnvConfig<A, T, FD, L, V, EX, WD, N, ERR>[src]
pub fn change_async_io_env<T>(
self,
async_io_env: T
) -> EnvConfig<A, T, FD, L, V, EX, WD, N, ERR>Change the type of the async_io_env instance.
pub fn change_file_desc_env<T>(
self,
file_desc_env: T
) -> EnvConfig<A, IO, T, L, V, EX, WD, N, ERR>[src]
pub fn change_file_desc_env<T>(
self,
file_desc_env: T
) -> EnvConfig<A, IO, T, L, V, EX, WD, N, ERR>Change the type of the file_desc_env instance.
pub fn change_last_status_env<T>(
self,
last_status_env: T
) -> EnvConfig<A, IO, FD, T, V, EX, WD, N, ERR>[src]
pub fn change_last_status_env<T>(
self,
last_status_env: T
) -> EnvConfig<A, IO, FD, T, V, EX, WD, N, ERR>Change the type of the last_status_env instance.
pub fn change_var_env<T>(
self,
var_env: T
) -> EnvConfig<A, IO, FD, L, T, EX, WD, N, ERR>[src]
pub fn change_var_env<T>(
self,
var_env: T
) -> EnvConfig<A, IO, FD, L, T, EX, WD, N, ERR>Change the type of the var_env instance.
pub fn change_exec_env<T>(
self,
exec_env: T
) -> EnvConfig<A, IO, FD, L, V, T, WD, N, ERR>[src]
pub fn change_exec_env<T>(
self,
exec_env: T
) -> EnvConfig<A, IO, FD, L, V, T, WD, N, ERR>Change the type of the exec_env instance.
pub fn change_working_dir_env<T>(
self,
working_dir_env: T
) -> EnvConfig<A, IO, FD, L, V, EX, T, N, ERR>[src]
pub fn change_working_dir_env<T>(
self,
working_dir_env: T
) -> EnvConfig<A, IO, FD, L, V, EX, T, N, ERR>Change the type of the working_dir_env instance.
pub fn change_fn_name<T>(self) -> EnvConfig<A, IO, FD, L, V, EX, WD, T, ERR>[src]
pub fn change_fn_name<T>(self) -> EnvConfig<A, IO, FD, L, V, EX, WD, T, ERR>Change the type of the fn_name instance.
pub fn change_fn_error<T>(self) -> EnvConfig<A, IO, FD, L, V, EX, WD, N, T>[src]
pub fn change_fn_error<T>(self) -> EnvConfig<A, IO, FD, L, V, EX, WD, N, T>Change the type of the fn_error instance.
Trait Implementations
impl<A: Default, IO: Default, FD: Default, L: Default, V: Default, EX: Default, WD: Default, N: Default, ERR: Default> Default for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A: Default, IO: Default, FD: Default, L: Default, V: Default, EX: Default, WD: Default, N: Default, ERR: Default> Default for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>fn default() -> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
fn default() -> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>Returns the "default value" for a type. Read more
impl<A: Debug, IO: Debug, FD: Debug, L: Debug, V: Debug, EX: Debug, WD: Debug, N: Debug, ERR: Debug> Debug for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A: Debug, IO: Debug, FD: Debug, L: Debug, V: Debug, EX: Debug, WD: Debug, N: Debug, ERR: Debug> Debug for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<A: PartialEq, IO: PartialEq, FD: PartialEq, L: PartialEq, V: PartialEq, EX: PartialEq, WD: PartialEq, N: PartialEq, ERR: PartialEq> PartialEq for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A: PartialEq, IO: PartialEq, FD: PartialEq, L: PartialEq, V: PartialEq, EX: PartialEq, WD: PartialEq, N: PartialEq, ERR: PartialEq> PartialEq for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>fn eq(&self, other: &EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>) -> bool[src]
fn eq(&self, other: &EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>) -> bool[src]
fn ne(&self, other: &EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>) -> boolThis method tests for !=.
impl<A: Eq, IO: Eq, FD: Eq, L: Eq, V: Eq, EX: Eq, WD: Eq, N: Eq, ERR: Eq> Eq for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A: Eq, IO: Eq, FD: Eq, L: Eq, V: Eq, EX: Eq, WD: Eq, N: Eq, ERR: Eq> Eq for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>impl<A: Clone, IO: Clone, FD: Clone, L: Clone, V: Clone, EX: Clone, WD: Clone, N: Clone, ERR: Clone> Clone for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
impl<A: Clone, IO: Clone, FD: Clone, L: Clone, V: Clone, EX: Clone, WD: Clone, N: Clone, ERR: Clone> Clone for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>fn clone(&self) -> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>[src]
fn clone(&self) -> EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<A, IO, FD, L, V, EX, WD, N, ERR> From<EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>> for Env<A, IO, FD, L, V, EX, WD, N, ERR> where
N: Hash + Eq,
V: ExportedVariableEnvironment,
V::VarName: From<String>,
V::Var: Borrow<String> + From<String>, [src]
impl<A, IO, FD, L, V, EX, WD, N, ERR> From<EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>> for Env<A, IO, FD, L, V, EX, WD, N, ERR> where
N: Hash + Eq,
V: ExportedVariableEnvironment,
V::VarName: From<String>,
V::Var: Borrow<String> + From<String>, impl<A, IO, FD, L, V, EX, WD, N, ERR> From<EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>> for AtomicEnv<A, IO, FD, L, V, EX, WD, N, ERR> where
N: Hash + Eq,
V: ExportedVariableEnvironment,
V::VarName: From<String>,
V::Var: Borrow<String> + From<String>, [src]
impl<A, IO, FD, L, V, EX, WD, N, ERR> From<EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR>> for AtomicEnv<A, IO, FD, L, V, EX, WD, N, ERR> where
N: Hash + Eq,
V: ExportedVariableEnvironment,
V::VarName: From<String>,
V::Var: Borrow<String> + From<String>, Auto Trait Implementations
impl<A, IO, FD, L, V, EX, WD, N, ERR> Send for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR> where
A: Send,
ERR: Send,
EX: Send,
FD: Send,
IO: Send,
L: Send,
N: Send,
V: Send,
WD: Send,
impl<A, IO, FD, L, V, EX, WD, N, ERR> Send for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR> where
A: Send,
ERR: Send,
EX: Send,
FD: Send,
IO: Send,
L: Send,
N: Send,
V: Send,
WD: Send, impl<A, IO, FD, L, V, EX, WD, N, ERR> Sync for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR> where
A: Sync,
ERR: Sync,
EX: Sync,
FD: Sync,
IO: Sync,
L: Sync,
N: Sync,
V: Sync,
WD: Sync,
impl<A, IO, FD, L, V, EX, WD, N, ERR> Sync for EnvConfig<A, IO, FD, L, V, EX, WD, N, ERR> where
A: Sync,
ERR: Sync,
EX: Sync,
FD: Sync,
IO: Sync,
L: Sync,
N: Sync,
V: Sync,
WD: Sync,