Struct soroban_env_host::Symbol
source · pub struct Symbol(_);
Implementations§
source§impl Symbol
impl Symbol
pub const fn from_small(s: SymbolSmall) -> Symbol
source§impl Symbol
impl Symbol
pub const fn try_from_small_str(s: &str) -> Result<Symbol, SymbolError>
pub const fn from_small_str(s: &str) -> Symbol
Trait Implementations§
source§impl From<SymbolObject> for Symbol
impl From<SymbolObject> for Symbol
source§fn from(ob: SymbolObject) -> Symbol
fn from(ob: SymbolObject) -> Symbol
Converts to this type from the input type.
source§impl From<SymbolSmall> for Symbol
impl From<SymbolSmall> for Symbol
source§fn from(s: SymbolSmall) -> Symbol
fn from(s: SymbolSmall) -> Symbol
Converts to this type from the input type.
source§impl RawValConvertible for Symbol
impl RawValConvertible for Symbol
source§fn 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
.source§unsafe fn unchecked_from_val(v: RawVal) -> Symbol
unsafe fn unchecked_from_val(v: RawVal) -> Symbol
Converts the bits making up a
Val
into Self
without checking
that the Val
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”).source§fn try_convert(v: RawVal) -> Option<Self>
fn try_convert(v: RawVal) -> Option<Self>
Attempt a conversion from
Val
to Self
, returning None
if the
provided Val
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
.source§impl TryFrom<Symbol> for SymbolObject
impl TryFrom<Symbol> for SymbolObject
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(
s: Symbol
) -> Result<SymbolObject, <SymbolObject as TryFrom<Symbol>>::Error>
fn try_from( s: Symbol ) -> Result<SymbolObject, <SymbolObject as TryFrom<Symbol>>::Error>
Performs the conversion.
source§impl TryFrom<Symbol> for SymbolSmall
impl TryFrom<Symbol> for SymbolSmall
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(
s: Symbol
) -> Result<SymbolSmall, <SymbolSmall as TryFrom<Symbol>>::Error>
fn try_from( s: Symbol ) -> Result<SymbolSmall, <SymbolSmall as TryFrom<Symbol>>::Error>
Performs the conversion.
source§impl<E> TryFromVal<E, &[u8]> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, &[u8]> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &&[u8] ) -> Result<Symbol, <Symbol as TryFromVal<E, &[u8]>>::Error>
source§impl<E> TryFromVal<E, &ScSymbol> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, &ScSymbol> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &&ScSymbol ) -> Result<Symbol, <Symbol as TryFromVal<E, &ScSymbol>>::Error>
source§impl<E> TryFromVal<E, &ScVal> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, &ScVal> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &&ScVal ) -> Result<Symbol, <Symbol as TryFromVal<E, &ScVal>>::Error>
source§impl<E> TryFromVal<E, &str> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, &str> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &&str ) -> Result<Symbol, <Symbol as TryFromVal<E, &str>>::Error>
source§impl<E> TryFromVal<E, RawVal> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, RawVal> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( _env: &E, val: &RawVal ) -> Result<Symbol, <Symbol as TryFromVal<E, RawVal>>::Error>
source§impl<E> TryFromVal<E, ScSymbol> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, ScSymbol> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &ScSymbol ) -> Result<Symbol, <Symbol as TryFromVal<E, ScSymbol>>::Error>
source§impl<E> TryFromVal<E, ScVal> for Symbolwhere
E: Env,
impl<E> TryFromVal<E, ScVal> for Symbolwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &ScVal ) -> Result<Symbol, <Symbol as TryFromVal<E, ScVal>>::Error>
source§impl<E> TryFromVal<E, Symbol> for RawValwhere
E: Env,
impl<E> TryFromVal<E, Symbol> for RawValwhere E: Env,
type Error = ConversionError
fn try_from_val( _env: &E, val: &Symbol ) -> Result<RawVal, <RawVal as TryFromVal<E, Symbol>>::Error>
source§impl<E> TryFromVal<E, Symbol> for ScValwhere
E: Env,
impl<E> TryFromVal<E, Symbol> for ScValwhere E: Env,
type Error = ConversionError
fn try_from_val( e: &E, s: &Symbol ) -> Result<ScVal, <ScVal as TryFromVal<E, Symbol>>::Error>
source§impl<E> TryFromVal<E, Symbol> for SymbolStrwhere
E: Env,
impl<E> TryFromVal<E, Symbol> for SymbolStrwhere E: Env,
type Error = ConversionError
fn try_from_val( env: &E, v: &Symbol ) -> Result<SymbolStr, <SymbolStr as TryFromVal<E, Symbol>>::Error>
impl Copy for Symbol
Auto Trait Implementations§
impl RefUnwindSafe for Symbol
impl Send for Symbol
impl Sync for Symbol
impl Unpin for Symbol
impl UnwindSafe for Symbol
Blanket Implementations§
source§impl<T, U, E, C> Compare<(T, U)> for Cwhere
C: Compare<T, Error = E, Error = E> + Compare<U>,
impl<T, U, E, C> Compare<(T, U)> for Cwhere C: Compare<T, Error = E, Error = E> + Compare<U>,
source§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§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
.§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
.§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.§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.