Struct soroban_env_common::Static
source · pub struct Static(_);
Expand description
Wrapper for a RawVal that is tagged with Tag::Static, interpreting the RawVal’s body as a 32-bit value from a reserved set of “static” values corresponding to the enumerated cases of ScStatic.
Implementations
Trait Implementations
sourceimpl FromValue for Static
impl FromValue for Static
sourcefn from_value(val: Value) -> Option<Self>
fn from_value(val: Value) -> Option<Self>
sourceimpl RawValConvertible for Static
impl RawValConvertible for Static
sourcefn is_val_type(v: RawVal) -> bool
fn is_val_type(v: RawVal) -> bool
Returns
true
if v
is in a union state compatible with Self
.sourceunsafe fn unchecked_from_val(v: RawVal) -> Self
unsafe fn unchecked_from_val(v: RawVal) -> Self
Converts the bits making up a
RawVal
into Self
without checking
that the RawVal
is tagged correctly, assuming that such a check has
been performed elsewhere. It is the caller’s responsibility to arrange
that such checks have occurred before calling unchecked_from_val
,
which is why it is marked as unsafe
(it does not represent a risk of
memory-unsafety, merely “serious logic errors”). Read moresourcefn try_convert(v: RawVal) -> Option<Self>
fn try_convert(v: RawVal) -> Option<Self>
Attempt a conversion from
RawVal
to Self
, returning None
if the
provided RawVal
is not tagged correctly. By default this calls
Self::is_val_type
and Self::unchecked_from_val
, but it can be
customized on a type-by-type basis to avoid redundant tag tests and
produce more efficient code, as it is done for Static
values like
bool
. Read moresourceimpl<E: Env> TryFromVal<E, RawVal> for Static
impl<E: Env> TryFromVal<E, RawVal> for Static
type Error = ConversionError
fn try_from_val(_env: &E, val: RawVal) -> Result<Self, Self::Error>
sourceimpl<E: Env> TryFromVal<E, Static> for ()
impl<E: Env> TryFromVal<E, Static> for ()
type Error = ConversionError
fn try_from_val(_env: &E, val: Static) -> Result<Self, Self::Error>
sourceimpl<E: Env> TryFromVal<E, Static> for bool
impl<E: Env> TryFromVal<E, Static> for bool
type Error = ConversionError
fn try_from_val(_env: &E, val: Static) -> Result<Self, Self::Error>
sourceimpl<E: Env> TryIntoVal<E, RawVal> for Static
impl<E: Env> TryIntoVal<E, RawVal> for Static
type Error = ConversionError
fn try_into_val(self, _env: &E) -> Result<RawVal, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<E: Env> TryIntoVal<E, Static> for RawVal
impl<E: Env> TryIntoVal<E, Static> for RawVal
type Error = ConversionError
fn try_into_val(self, env: &E) -> Result<Static, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
impl Copy for Static
impl Val for Static
Auto Trait Implementations
impl RefUnwindSafe for Static
impl Send for Static
impl Sync for Static
impl Unpin for Static
impl UnwindSafe for Static
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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 morefn 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 morefn 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 morefn 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