Struct soroban_env_common::RawVal
source · #[repr(transparent)]pub struct RawVal(_);
Expand description
A 64-bit value encoding a bit-packed disjoint union between several different types (numbers, booleans, symbols, object handles, etc.)
RawVals divide up the space of 64 bits according to a 2-level tagging
scheme. The first tag is a bit in the least-significant position, indicating
whether the RawVal
is a plain “u63” 63-bit unsigned integer, or some
more-structured value with a second-level tag in the next most significant 3
bits. The 63-bit unsigned integer case can also be thought of as handling
the complete range of non-negative signed 64-bit integers.
The remaining 3 bit tags are assigned to cases enumerated in Tag, of which 7 are defined and one is currently reserved.
Schematically, the bit-assignment for RawVal
looks like this:
0x_NNNN_NNNN_NNNN_NNNX - u63, for any even X
0x_0000_000N_NNNN_NNN1 - u32
0x_0000_000N_NNNN_NNN3 - i32
0x_NNNN_NNNN_NNNN_NNN5 - static: void, true, false, ...
0x_IIII_IIII_TTTT_TTT7 - object: 32-bit index I, 28-bit type code T
0x_NNNN_NNNN_NNNN_NNN9 - symbol: up to 10 6-bit identifier characters
0x_NNNN_NNNN_NNNN_NNNb - bitset: up to 60 bits
0x_CCCC_CCCC_TTTT_TTTd - status: 32-bit code C, 28-bit type code T
0x_NNNN_NNNN_NNNN_NNNf - reserved
Implementations§
source§impl RawVal
impl RawVal
pub const fn get_payload(self) -> u64
pub const fn from_payload(x: u64) -> Self
pub const fn shallow_eq(&self, other: &Self) -> bool
pub const fn is_u63(self) -> bool
pub const unsafe fn unchecked_as_u63(self) -> i64
pub const unsafe fn unchecked_from_u63(i: i64) -> Self
pub const fn get_tag(self) -> Tag
pub fn is<T: RawValConvertible>(self) -> bool
pub const fn from_void() -> RawVal
pub const fn from_bool(b: bool) -> RawVal
pub const fn from_other_static(st: ScStatic) -> RawVal
pub const fn from_u32(u: u32) -> RawVal
pub const fn from_i32(i: i32) -> RawVal
pub const fn is_i32_zero(self) -> bool
pub const fn is_u32_zero(self) -> bool
pub const fn is_void(self) -> bool
pub const fn is_true(self) -> bool
pub const fn is_false(self) -> bool
source§impl RawVal
impl RawVal
pub const I32_ZERO: RawVal = _
pub const I32_POSITIVE_ONE: RawVal = _
pub const I32_NEGATIVE_ONE: RawVal = _
pub const I32_MIN: RawVal = _
pub const I32_MAX: RawVal = _
pub const U32_ZERO: RawVal = _
pub const U32_ONE: RawVal = _
pub const U32_MIN: RawVal = _
pub const U32_MAX: RawVal = _
pub const VOID: RawVal = _
pub const TRUE: RawVal = _
pub const FALSE: RawVal = _
Trait Implementations§
source§impl<E: Env> TryFromVal<E, ()> for RawVal
impl<E: Env> TryFromVal<E, ()> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &()) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
T11: TryIntoVal<E, RawVal>,
T12: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
T11: TryIntoVal<E, RawVal>,
T12: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
T11: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
T11: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
T10: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
T9: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7, T8)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
T8: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7, T8)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6, T7)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
T7: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6, T7)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6> TryFromVal<E, (T0, T1, T2, T3, T4, T5, T6)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
T6: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5, T6)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5> TryFromVal<E, (T0, T1, T2, T3, T4, T5)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5> TryFromVal<E, (T0, T1, T2, T3, T4, T5)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
T5: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(
env: &E,
v: &(T0, T1, T2, T3, T4, T5)
) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4> TryFromVal<E, (T0, T1, T2, T3, T4)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4> TryFromVal<E, (T0, T1, T2, T3, T4)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
T4: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, v: &(T0, T1, T2, T3, T4)) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3> TryFromVal<E, (T0, T1, T2, T3)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3> TryFromVal<E, (T0, T1, T2, T3)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
T3: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, v: &(T0, T1, T2, T3)) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2> TryFromVal<E, (T0, T1, T2)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1, T2> TryFromVal<E, (T0, T1, T2)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
T2: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, v: &(T0, T1, T2)) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1> TryFromVal<E, (T0, T1)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
impl<E: Env, T0, T1> TryFromVal<E, (T0, T1)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
T1: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, v: &(T0, T1)) -> Result<Self, Self::Error>
source§impl<E: Env, T0> TryFromVal<E, (T0,)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
impl<E: Env, T0> TryFromVal<E, (T0,)> for RawValwhere
T0: TryIntoVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, v: &(T0,)) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, BitSet> for RawVal
impl<E: Env> TryFromVal<E, BitSet> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &BitSet) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, Object> for RawVal
impl<E: Env> TryFromVal<E, Object> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &Object) -> Result<Self, Self::Error>
source§impl<E: Env, T> TryFromVal<E, Option<T>> for RawValwhere
T: TryIntoVal<E, RawVal>,
impl<E: Env, T> TryFromVal<E, Option<T>> for RawValwhere
T: TryIntoVal<E, RawVal>,
source§impl<E: Env> TryFromVal<E, RawVal> for ()
impl<E: Env> TryFromVal<E, RawVal> for ()
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
T11: TryFromVal<E, RawVal>,
T12: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
T11: TryFromVal<E, RawVal>,
T12: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
T11: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
T11: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
T10: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
T9: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
T8: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6, T7> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
T7: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5, T6> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5, T6> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5, T6)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
T6: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4, T5> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4, T5> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4, T5)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
T5: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3, T4> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3, T4> TryFromVal<E, RawVal> for (T0, T1, T2, T3, T4)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
T4: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2, T3> TryFromVal<E, RawVal> for (T0, T1, T2, T3)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2, T3> TryFromVal<E, RawVal> for (T0, T1, T2, T3)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
T3: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1, T2> TryFromVal<E, RawVal> for (T0, T1, T2)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1, T2> TryFromVal<E, RawVal> for (T0, T1, T2)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
T2: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0, T1> TryFromVal<E, RawVal> for (T0, T1)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
impl<E: Env, T0, T1> TryFromVal<E, RawVal> for (T0, T1)where
T0: TryFromVal<E, RawVal>,
T1: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T0> TryFromVal<E, RawVal> for (T0,)where
T0: TryFromVal<E, RawVal>,
impl<E: Env, T0> TryFromVal<E, RawVal> for (T0,)where
T0: TryFromVal<E, RawVal>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for BitSet
impl<E: Env> TryFromVal<E, RawVal> for BitSet
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for Object
impl<E: Env> TryFromVal<E, RawVal> for Object
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T> TryFromVal<E, RawVal> for Option<T>where
T: TryFromVal<E, RawVal>,
impl<E: Env, T> TryFromVal<E, RawVal> for Option<T>where
T: TryFromVal<E, RawVal>,
source§impl<E: Env> TryFromVal<E, RawVal> for RawVal
impl<E: Env> TryFromVal<E, RawVal> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T, R> TryFromVal<E, RawVal> for Result<T, R>where
T: TryFromVal<E, RawVal>,
R: TryFrom<Status>,
impl<E: Env, T, R> TryFromVal<E, RawVal> for Result<T, R>where
T: TryFromVal<E, RawVal>,
R: TryFrom<Status>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for ScValwhere
ScObject: TryFromVal<E, Object>,
impl<E: Env> TryFromVal<E, RawVal> for ScValwhere
ScObject: TryFromVal<E, Object>,
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<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>
source§impl<E: Env> TryFromVal<E, RawVal> for Status
impl<E: Env> TryFromVal<E, RawVal> for Status
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for String
impl<E: Env> TryFromVal<E, RawVal> for String
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for Symbol
impl<E: Env> TryFromVal<E, RawVal> for Symbol
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for bool
impl<E: Env> TryFromVal<E, RawVal> for bool
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for i128
impl<E: Env> TryFromVal<E, RawVal> for i128
type Error = ConversionError
fn try_from_val(env: &E, v: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for i32
impl<E: Env> TryFromVal<E, RawVal> for i32
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for i64
impl<E: Env> TryFromVal<E, RawVal> for i64
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for u128
impl<E: Env> TryFromVal<E, RawVal> for u128
type Error = ConversionError
fn try_from_val(env: &E, v: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for u32
impl<E: Env> TryFromVal<E, RawVal> for u32
type Error = ConversionError
fn try_from_val(_env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, RawVal> for u64
impl<E: Env> TryFromVal<E, RawVal> for u64
type Error = ConversionError
fn try_from_val(env: &E, val: &RawVal) -> Result<Self, Self::Error>
source§impl<E: Env, T, R> TryFromVal<E, Result<T, R>> for RawValwhere
RawVal: TryFromVal<E, T>,
Status: for<'a> TryFrom<&'a R>,
impl<E: Env, T, R> TryFromVal<E, Result<T, R>> for RawValwhere
RawVal: TryFromVal<E, T>,
Status: for<'a> TryFrom<&'a R>,
type Error = ConversionError
fn try_from_val(env: &E, v: &Result<T, R>) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, ScVal> for RawValwhere
Object: TryFromVal<E, ScObject>,
impl<E: Env> TryFromVal<E, ScVal> for RawValwhere
Object: TryFromVal<E, ScObject>,
source§impl<E: Env> TryFromVal<E, Static> for RawVal
impl<E: Env> TryFromVal<E, Static> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &Static) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, Status> for RawVal
impl<E: Env> TryFromVal<E, Status> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &Status) -> Result<Self, Self::Error>
source§impl<'a, E: Env> TryFromVal<E, String> for RawVal
impl<'a, E: Env> TryFromVal<E, String> for RawVal
type Error = ConversionError
fn try_from_val(env: &E, v: &String) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, Symbol> for RawVal
impl<E: Env> TryFromVal<E, Symbol> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &Symbol) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, bool> for RawVal
impl<E: Env> TryFromVal<E, bool> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &bool) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, i128> for RawVal
impl<E: Env> TryFromVal<E, i128> for RawVal
type Error = ConversionError
fn try_from_val(env: &E, v: &i128) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, i32> for RawVal
impl<E: Env> TryFromVal<E, i32> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &i32) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, i64> for RawVal
impl<E: Env> TryFromVal<E, i64> for RawVal
type Error = ConversionError
fn try_from_val(env: &E, v: &i64) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, u128> for RawVal
impl<E: Env> TryFromVal<E, u128> for RawVal
type Error = ConversionError
fn try_from_val(env: &E, v: &u128) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, u32> for RawVal
impl<E: Env> TryFromVal<E, u32> for RawVal
type Error = ConversionError
fn try_from_val(_env: &E, val: &u32) -> Result<Self, Self::Error>
source§impl<E: Env> TryFromVal<E, u64> for RawVal
impl<E: Env> TryFromVal<E, u64> for RawVal
type Error = ConversionError
fn try_from_val(env: &E, v: &u64) -> Result<Self, Self::Error>
impl Copy for RawVal
impl Val for RawVal
Auto Trait Implementations§
impl RefUnwindSafe for RawVal
impl Send for RawVal
impl Sync for RawVal
impl Unpin for RawVal
impl UnwindSafe for RawVal
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
.§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.