Struct soroban_env_common::EnvVal
source · pub struct EnvVal<E: Env, V> {
pub env: E,
pub val: V,
}
Expand description
Some type of value coupled to a specific instance of Env, which some of the value’s methods may call into to support some conversion and comparison functions.
The value and Env
instance used in an EnvVal
will vary by context:
- In contract code compiled for WASM, the
Env
is a zero-sizedGuest
struct - In contract code compiled natively for local testing, the
Env
is a reference-countedHost
- Inside the
Host
, theEnv
is either aHost
or a weak reference to aHost
The value will typically either be RawVal or one of its tag-specific wrapper types.
Fields§
§env: E
The environment to call into for comparison and conversion assistance.
val: V
The value that will call into the environment as needed.
Implementations§
Trait Implementations§
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
T11: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
T11: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
T10: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
T9: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
T8: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
T7: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5, T6)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
T6: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4, T5> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4, T5)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
T5: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3, T4> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3, T4)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
T4: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2, T3> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2, T3)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
T3: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1, T2> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1, T2)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
T2: IntoVal<E, RawVal>,
source§impl<E: Env, T0, T1> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
impl<E: Env, T0, T1> IntoVal<E, EnvVal<E, RawVal>> for (T0, T1)where
T0: IntoVal<E, RawVal>,
T1: IntoVal<E, RawVal>,
source§impl<E: Env, V: Val> Ord for EnvVal<E, V>
impl<E: Env, V: Val> Ord for EnvVal<E, V>
source§impl<E: Env, V: Val> PartialEq<EnvVal<E, V>> for EnvVal<E, V>
impl<E: Env, V: Val> PartialEq<EnvVal<E, V>> for EnvVal<E, V>
source§impl<E: Env, V: Val> PartialOrd<EnvVal<E, V>> for EnvVal<E, V>
impl<E: Env, V: Val> PartialOrd<EnvVal<E, V>> for EnvVal<E, V>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<E: Env, V> TryFromVal<E, V> for EnvVal<E, V>
impl<E: Env, V> TryFromVal<E, V> for EnvVal<E, V>
type Error = Infallible
fn try_from_val(env: &E, val: V) -> Result<Self, Self::Error>
impl<E: Env, V: Val> Eq for EnvVal<E, V>
Auto Trait Implementations§
impl<E, V> RefUnwindSafe for EnvVal<E, V>where
E: RefUnwindSafe,
V: RefUnwindSafe,
impl<E, V> Send for EnvVal<E, V>where
E: Send,
V: Send,
impl<E, V> Sync for EnvVal<E, V>where
E: Sync,
V: Sync,
impl<E, V> Unpin for EnvVal<E, V>where
E: Unpin,
V: Unpin,
impl<E, V> UnwindSafe for EnvVal<E, V>where
E: UnwindSafe,
V: UnwindSafe,
Blanket Implementations§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more