pub trait MarshalBag: Copy {
type Value;
type ConstantBag: ConstantBag;
Show 16 methods
// Required methods
fn make_bool(&self, value: bool) -> Self::Value;
fn make_none(&self) -> Self::Value;
fn make_ellipsis(&self) -> Self::Value;
fn make_float(&self, value: f64) -> Self::Value;
fn make_complex(&self, value: Complex64) -> Self::Value;
fn make_str(&self, value: &str) -> Self::Value;
fn make_bytes(&self, value: &[u8]) -> Self::Value;
fn make_int(&self, value: BigInt) -> Self::Value;
fn make_tuple(
&self,
elements: impl Iterator<Item = Self::Value>
) -> Self::Value;
fn make_code(
&self,
code: CodeObject<<Self::ConstantBag as ConstantBag>::Constant>
) -> Self::Value;
fn make_stop_iter(&self) -> Result<Self::Value, MarshalError>;
fn make_list(
&self,
it: impl Iterator<Item = Self::Value>
) -> Result<Self::Value, MarshalError>;
fn make_set(
&self,
it: impl Iterator<Item = Self::Value>
) -> Result<Self::Value, MarshalError>;
fn make_frozenset(
&self,
it: impl Iterator<Item = Self::Value>
) -> Result<Self::Value, MarshalError>;
fn make_dict(
&self,
it: impl Iterator<Item = (Self::Value, Self::Value)>
) -> Result<Self::Value, MarshalError>;
fn constant_bag(self) -> Self::ConstantBag;
}