pub trait IntoPyObject<'py>: Sized {
type Target;
type Output: BoundObject<'py, Self::Target>;
type Error: Into<PyErr>;
// Required method
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>;
// Provided methods
fn type_output() -> TypeInfo { ... }
#[doc(hidden)] fn owned_sequence_into_pyobject<I>(
iter: I,
py: Python<'py>,
_: Token,
) -> Result<Bound<'py, PyAny>, PyErr>
where I: IntoIterator<Item = Self> + AsRef<[Self]>,
I::IntoIter: ExactSizeIterator<Item = Self> { ... }
#[doc(hidden)] fn borrowed_sequence_into_pyobject<I>(
iter: I,
py: Python<'py>,
_: Token,
) -> Result<Bound<'py, PyAny>, PyErr>
where Self: Reference,
I: IntoIterator<Item = Self> + AsRef<[<Self as Reference>::BaseType]>,
I::IntoIter: ExactSizeIterator<Item = Self> { ... }
}
Expand description
Required Associated Types§
Sourcetype Output: BoundObject<'py, Self::Target>
type Output: BoundObject<'py, Self::Target>
The smart pointer type to use.
This will usually be [Bound<'py, Target>
], but in special cases [Borrowed<'a, 'py, Target>
] can be
used to minimize reference counting overhead.
Required Methods§
Provided Methods§
Sourcefn type_output() -> TypeInfo
Available on crate feature experimental-inspect
only.
fn type_output() -> TypeInfo
experimental-inspect
only.Extracts the type hint information for this type when it appears as a return value.
For example, Vec<u32>
would return List[int]
.
The default implementation returns Any
, which is correct for any type.
For most types, the return value for this method will be identical to that of FromPyObject::type_input
.
It may be different for some types, such as Dict
, to allow duck-typing: functions return Dict
but take Mapping
as argument.
Source#[doc(hidden)] fn owned_sequence_into_pyobject<I>(
iter: I,
py: Python<'py>,
_: Token,
) -> Result<Bound<'py, PyAny>, PyErr>
#[doc(hidden)] fn owned_sequence_into_pyobject<I>( iter: I, py: Python<'py>, _: Token, ) -> Result<Bound<'py, PyAny>, PyErr>
Converts sequence of Self into a Python object. Used to specialize Vec<u8>
, [u8; N]
and SmallVec<[u8; N]>
as a sequence of bytes into a bytes
object.
Source#[doc(hidden)] fn borrowed_sequence_into_pyobject<I>(
iter: I,
py: Python<'py>,
_: Token,
) -> Result<Bound<'py, PyAny>, PyErr>where
Self: Reference,
I: IntoIterator<Item = Self> + AsRef<[<Self as Reference>::BaseType]>,
I::IntoIter: ExactSizeIterator<Item = Self>,
#[doc(hidden)] fn borrowed_sequence_into_pyobject<I>(
iter: I,
py: Python<'py>,
_: Token,
) -> Result<Bound<'py, PyAny>, PyErr>where
Self: Reference,
I: IntoIterator<Item = Self> + AsRef<[<Self as Reference>::BaseType]>,
I::IntoIter: ExactSizeIterator<Item = Self>,
Converts sequence of Self into a Python object. Used to specialize &[u8]
and Cow<[u8]>
as a sequence of bytes into a bytes
object.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<'a, 'py, A> IntoPyObject<'py> for &'a SmallVec<A>where
A: Array,
&'a A::Item: IntoPyObject<'py>,
A::Item: 'a,
Available on crate feature smallvec
only.
impl<'a, 'py, A> IntoPyObject<'py> for &'a SmallVec<A>where
A: Array,
&'a A::Item: IntoPyObject<'py>,
A::Item: 'a,
smallvec
only.type Target = PyAny
type Output = Bound<'py, <&'a SmallVec<A> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, K> IntoPyObject<'py> for &'a BTreeSet<K>
impl<'a, 'py, K> IntoPyObject<'py> for &'a BTreeSet<K>
type Target = PySet
type Output = Bound<'py, <&'a BTreeSet<K> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, K, H> IntoPyObject<'py> for &'a HashSet<K, H>
impl<'a, 'py, K, H> IntoPyObject<'py> for &'a HashSet<K, H>
type Target = PySet
type Output = Bound<'py, <&'a HashSet<K, H> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, K, H> IntoPyObject<'py> for &'a HashSet<K, H>
Available on crate feature hashbrown
only.
impl<'a, 'py, K, H> IntoPyObject<'py> for &'a HashSet<K, H>
hashbrown
only.Source§impl<'a, 'py, K, V> IntoPyObject<'py> for &'a BTreeMap<K, V>
impl<'a, 'py, K, V> IntoPyObject<'py> for &'a BTreeMap<K, V>
type Target = PyDict
type Output = Bound<'py, <&'a BTreeMap<K, V> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a HashMap<K, V, H>
impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a HashMap<K, V, H>
type Target = PyDict
type Output = Bound<'py, <&'a HashMap<K, V, H> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a HashMap<K, V, H>
Available on crate feature hashbrown
only.
impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a HashMap<K, V, H>
hashbrown
only.Source§impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a IndexMap<K, V, H>
Available on crate feature indexmap
only.
impl<'a, 'py, K, V, H> IntoPyObject<'py> for &'a IndexMap<K, V, H>
indexmap
only.Source§impl<'a, 'py, L, R> IntoPyObject<'py> for &'a Either<L, R>
Available on crate feature either
only.
impl<'a, 'py, L, R> IntoPyObject<'py> for &'a Either<L, R>
either
only.Source§impl<'a, 'py, T0> IntoPyObject<'py> for &'a (T0,)where
&'a T0: IntoPyObject<'py>,
T0: 'a,
impl<'a, 'py, T0> IntoPyObject<'py> for &'a (T0,)where
&'a T0: IntoPyObject<'py>,
T0: 'a,
Source§impl<'a, 'py, T0, T1> IntoPyObject<'py> for &'a (T0, T1)
impl<'a, 'py, T0, T1> IntoPyObject<'py> for &'a (T0, T1)
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2> IntoPyObject<'py> for &'a (T0, T1, T2)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
impl<'a, 'py, T0, T1, T2> IntoPyObject<'py> for &'a (T0, T1, T2)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3> IntoPyObject<'py> for &'a (T0, T1, T2, T3)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
impl<'a, 'py, T0, T1, T2, T3> IntoPyObject<'py> for &'a (T0, T1, T2, T3)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6, T7) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6, T7, T8) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
&'a T10: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
T10: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
&'a T10: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
T10: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
&'a T10: IntoPyObject<'py>,
&'a T11: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
T10: 'a,
T11: 'a,
impl<'a, 'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoPyObject<'py> for &'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
&'a T0: IntoPyObject<'py>,
&'a T1: IntoPyObject<'py>,
&'a T2: IntoPyObject<'py>,
&'a T3: IntoPyObject<'py>,
&'a T4: IntoPyObject<'py>,
&'a T5: IntoPyObject<'py>,
&'a T6: IntoPyObject<'py>,
&'a T7: IntoPyObject<'py>,
&'a T8: IntoPyObject<'py>,
&'a T9: IntoPyObject<'py>,
&'a T10: IntoPyObject<'py>,
&'a T11: IntoPyObject<'py>,
T0: 'a,
T1: 'a,
T2: 'a,
T3: 'a,
T4: 'a,
T5: 'a,
T6: 'a,
T7: 'a,
T8: 'a,
T9: 'a,
T10: 'a,
T11: 'a,
type Target = PyTuple
type Output = Bound<'py, <&'a (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'a, 'py, T> IntoPyObject<'py> for &'a Option<T>where
&'a T: IntoPyObject<'py>,
impl<'a, 'py, T> IntoPyObject<'py> for &'a Option<T>where
&'a T: IntoPyObject<'py>,
Source§impl<'a, 'py, T> IntoPyObject<'py> for &'a [T]where
&'a T: IntoPyObject<'py>,
T: 'a,
impl<'a, 'py, T> IntoPyObject<'py> for &'a [T]where
&'a T: IntoPyObject<'py>,
T: 'a,
Source§impl<'a, 'py, T> IntoPyObject<'py> for &'a Vec<T>where
&'a T: IntoPyObject<'py>,
T: 'a,
impl<'a, 'py, T> IntoPyObject<'py> for &'a Vec<T>where
&'a T: IntoPyObject<'py>,
T: 'a,
Source§impl<'a, 'py, T, const N: usize> IntoPyObject<'py> for &'a [T; N]where
&'a T: IntoPyObject<'py>,
impl<'a, 'py, T, const N: usize> IntoPyObject<'py> for &'a [T; N]where
&'a T: IntoPyObject<'py>,
Source§impl<'py> IntoPyObject<'py> for &&str
impl<'py> IntoPyObject<'py> for &&str
Source§impl<'py> IntoPyObject<'py> for &&OsStr
impl<'py> IntoPyObject<'py> for &&OsStr
Source§impl<'py> IntoPyObject<'py> for &&Path
impl<'py> IntoPyObject<'py> for &&Path
Source§impl<'py> IntoPyObject<'py> for &Cow<'_, str>
impl<'py> IntoPyObject<'py> for &Cow<'_, str>
type Target = PyString
type Output = Bound<'py, <&Cow<'_, str> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &Cow<'_, OsStr>
impl<'py> IntoPyObject<'py> for &Cow<'_, OsStr>
Source§impl<'py> IntoPyObject<'py> for &Cow<'_, Path>
impl<'py> IntoPyObject<'py> for &Cow<'_, Path>
Source§impl<'py> IntoPyObject<'py> for &IpAddr
impl<'py> IntoPyObject<'py> for &IpAddr
Source§impl<'py> IntoPyObject<'py> for &bool
impl<'py> IntoPyObject<'py> for &bool
type Target = PyBool
type Output = Borrowed<'py, 'py, <&bool as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &char
impl<'py> IntoPyObject<'py> for &char
Source§impl<'py> IntoPyObject<'py> for &f32
impl<'py> IntoPyObject<'py> for &f32
Source§impl<'py> IntoPyObject<'py> for &f64
impl<'py> IntoPyObject<'py> for &f64
Source§impl<'py> IntoPyObject<'py> for &i8
impl<'py> IntoPyObject<'py> for &i8
Source§impl<'py> IntoPyObject<'py> for &i16
impl<'py> IntoPyObject<'py> for &i16
Source§impl<'py> IntoPyObject<'py> for &i32
impl<'py> IntoPyObject<'py> for &i32
Source§impl<'py> IntoPyObject<'py> for &i64
impl<'py> IntoPyObject<'py> for &i64
Source§impl<'py> IntoPyObject<'py> for &i128
Available on non-Py_LIMITED_API
and non-GraalPy
only.
impl<'py> IntoPyObject<'py> for &i128
Py_LIMITED_API
and non-GraalPy
only.Source§impl<'py> IntoPyObject<'py> for &isize
impl<'py> IntoPyObject<'py> for &isize
Source§impl<'py> IntoPyObject<'py> for &str
impl<'py> IntoPyObject<'py> for &str
Source§impl<'py> IntoPyObject<'py> for &u8
impl<'py> IntoPyObject<'py> for &u8
type Target = PyInt
type Output = Bound<'py, <&u8 as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.fn borrowed_sequence_into_pyobject<I>( iter: I, py: Python<'py>, _: Token, ) -> Result<Bound<'py, PyAny>, PyErr>
Source§impl<'py> IntoPyObject<'py> for &u16
impl<'py> IntoPyObject<'py> for &u16
Source§impl<'py> IntoPyObject<'py> for &u32
impl<'py> IntoPyObject<'py> for &u32
Source§impl<'py> IntoPyObject<'py> for &u64
impl<'py> IntoPyObject<'py> for &u64
Source§impl<'py> IntoPyObject<'py> for &u128
Available on non-Py_LIMITED_API
and non-GraalPy
only.
impl<'py> IntoPyObject<'py> for &u128
Py_LIMITED_API
and non-GraalPy
only.Source§impl<'py> IntoPyObject<'py> for &usize
impl<'py> IntoPyObject<'py> for &usize
Source§impl<'py> IntoPyObject<'py> for &String
impl<'py> IntoPyObject<'py> for &String
type Target = PyString
type Output = Bound<'py, <&String as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &Ipv4Addr
impl<'py> IntoPyObject<'py> for &Ipv4Addr
Source§impl<'py> IntoPyObject<'py> for &Ipv6Addr
impl<'py> IntoPyObject<'py> for &Ipv6Addr
Source§impl<'py> IntoPyObject<'py> for &Duration
impl<'py> IntoPyObject<'py> for &Duration
Source§impl<'py> IntoPyObject<'py> for &OsStr
impl<'py> IntoPyObject<'py> for &OsStr
Source§impl<'py> IntoPyObject<'py> for &OsString
impl<'py> IntoPyObject<'py> for &OsString
Source§impl<'py> IntoPyObject<'py> for &Path
impl<'py> IntoPyObject<'py> for &Path
Source§impl<'py> IntoPyObject<'py> for &PathBuf
impl<'py> IntoPyObject<'py> for &PathBuf
Source§impl<'py> IntoPyObject<'py> for &SystemTime
impl<'py> IntoPyObject<'py> for &SystemTime
Source§impl<'py> IntoPyObject<'py> for &NaiveDate
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &NaiveDate
chrono
only.Source§impl<'py> IntoPyObject<'py> for &NaiveDateTime
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &NaiveDateTime
chrono
only.Source§impl<'py> IntoPyObject<'py> for &NaiveTime
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &NaiveTime
chrono
only.Source§impl<'py> IntoPyObject<'py> for &FixedOffset
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &FixedOffset
chrono
only.Source§impl<'py> IntoPyObject<'py> for &Utc
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &Utc
chrono
only.Source§impl<'py> IntoPyObject<'py> for &BigInt
Available on crate feature num-bigint
only.
impl<'py> IntoPyObject<'py> for &BigInt
num-bigint
only.Source§impl<'py> IntoPyObject<'py> for &BigUint
Available on crate feature num-bigint
only.
impl<'py> IntoPyObject<'py> for &BigUint
num-bigint
only.Source§impl<'py> IntoPyObject<'py> for &Complex<f32>
Available on crate feature num-complex
only.
impl<'py> IntoPyObject<'py> for &Complex<f32>
num-complex
only.Source§impl<'py> IntoPyObject<'py> for &Complex<f64>
Available on crate feature num-complex
only.
impl<'py> IntoPyObject<'py> for &Complex<f64>
num-complex
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<i8>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<i8>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<i16>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<i16>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<i32>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<i32>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<i64>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<i64>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<isize>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<isize>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &Ratio<BigInt>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for &Ratio<BigInt>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroI8
impl<'py> IntoPyObject<'py> for &NonZeroI8
type Target = PyInt
type Output = Bound<'py, <&NonZero<i8> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroI16
impl<'py> IntoPyObject<'py> for &NonZeroI16
type Target = PyInt
type Output = Bound<'py, <&NonZero<i16> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroI32
impl<'py> IntoPyObject<'py> for &NonZeroI32
type Target = PyInt
type Output = Bound<'py, <&NonZero<i32> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroI64
impl<'py> IntoPyObject<'py> for &NonZeroI64
type Target = PyInt
type Output = Bound<'py, <&NonZero<i64> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroI128
impl<'py> IntoPyObject<'py> for &NonZeroI128
type Target = PyInt
type Output = Bound<'py, <&NonZero<i128> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroIsize
impl<'py> IntoPyObject<'py> for &NonZeroIsize
type Target = PyInt
type Output = Bound<'py, <&NonZero<isize> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroU8
impl<'py> IntoPyObject<'py> for &NonZeroU8
type Target = PyInt
type Output = Bound<'py, <&NonZero<u8> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroU16
impl<'py> IntoPyObject<'py> for &NonZeroU16
type Target = PyInt
type Output = Bound<'py, <&NonZero<u16> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroU32
impl<'py> IntoPyObject<'py> for &NonZeroU32
type Target = PyInt
type Output = Bound<'py, <&NonZero<u32> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroU64
impl<'py> IntoPyObject<'py> for &NonZeroU64
type Target = PyInt
type Output = Bound<'py, <&NonZero<u64> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroU128
impl<'py> IntoPyObject<'py> for &NonZeroU128
type Target = PyInt
type Output = Bound<'py, <&NonZero<u128> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &NonZeroUsize
impl<'py> IntoPyObject<'py> for &NonZeroUsize
type Target = PyInt
type Output = Bound<'py, <&NonZero<usize> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for &Duration
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for &Duration
chrono
only.Source§impl<'py> IntoPyObject<'py> for &Decimal
Available on crate feature rust_decimal
only.
impl<'py> IntoPyObject<'py> for &Decimal
rust_decimal
only.Source§impl<'py> IntoPyObject<'py> for Cow<'_, str>
impl<'py> IntoPyObject<'py> for Cow<'_, str>
type Target = PyString
type Output = Bound<'py, <Cow<'_, str> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for Cow<'_, OsStr>
impl<'py> IntoPyObject<'py> for Cow<'_, OsStr>
Source§impl<'py> IntoPyObject<'py> for Cow<'_, Path>
impl<'py> IntoPyObject<'py> for Cow<'_, Path>
Source§impl<'py> IntoPyObject<'py> for IpAddr
impl<'py> IntoPyObject<'py> for IpAddr
Source§impl<'py> IntoPyObject<'py> for bool
impl<'py> IntoPyObject<'py> for bool
type Target = PyBool
type Output = Borrowed<'py, 'py, <bool as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for char
impl<'py> IntoPyObject<'py> for char
Source§impl<'py> IntoPyObject<'py> for f32
impl<'py> IntoPyObject<'py> for f32
Source§impl<'py> IntoPyObject<'py> for f64
impl<'py> IntoPyObject<'py> for f64
Source§impl<'py> IntoPyObject<'py> for i8
impl<'py> IntoPyObject<'py> for i8
Source§impl<'py> IntoPyObject<'py> for i16
impl<'py> IntoPyObject<'py> for i16
Source§impl<'py> IntoPyObject<'py> for i32
impl<'py> IntoPyObject<'py> for i32
Source§impl<'py> IntoPyObject<'py> for i64
impl<'py> IntoPyObject<'py> for i64
Source§impl<'py> IntoPyObject<'py> for i128
Available on non-Py_LIMITED_API
and non-GraalPy
only.
impl<'py> IntoPyObject<'py> for i128
Py_LIMITED_API
and non-GraalPy
only.Source§impl<'py> IntoPyObject<'py> for isize
impl<'py> IntoPyObject<'py> for isize
Source§impl<'py> IntoPyObject<'py> for u8
impl<'py> IntoPyObject<'py> for u8
type Target = PyInt
type Output = Bound<'py, <u8 as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.fn owned_sequence_into_pyobject<I>( iter: I, py: Python<'py>, _: Token, ) -> Result<Bound<'py, PyAny>, PyErr>
Source§impl<'py> IntoPyObject<'py> for u16
impl<'py> IntoPyObject<'py> for u16
Source§impl<'py> IntoPyObject<'py> for u32
impl<'py> IntoPyObject<'py> for u32
Source§impl<'py> IntoPyObject<'py> for u64
impl<'py> IntoPyObject<'py> for u64
Source§impl<'py> IntoPyObject<'py> for u128
Available on non-Py_LIMITED_API
and non-GraalPy
only.
impl<'py> IntoPyObject<'py> for u128
Py_LIMITED_API
and non-GraalPy
only.Source§impl<'py> IntoPyObject<'py> for ()
impl<'py> IntoPyObject<'py> for ()
Source§impl<'py> IntoPyObject<'py> for usize
impl<'py> IntoPyObject<'py> for usize
Source§impl<'py> IntoPyObject<'py> for String
impl<'py> IntoPyObject<'py> for String
type Target = PyString
type Output = Bound<'py, <String as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for Ipv4Addr
impl<'py> IntoPyObject<'py> for Ipv4Addr
Source§impl<'py> IntoPyObject<'py> for Ipv6Addr
impl<'py> IntoPyObject<'py> for Ipv6Addr
Source§impl<'py> IntoPyObject<'py> for Duration
impl<'py> IntoPyObject<'py> for Duration
Source§impl<'py> IntoPyObject<'py> for OsString
impl<'py> IntoPyObject<'py> for OsString
Source§impl<'py> IntoPyObject<'py> for PathBuf
impl<'py> IntoPyObject<'py> for PathBuf
Source§impl<'py> IntoPyObject<'py> for SystemTime
impl<'py> IntoPyObject<'py> for SystemTime
Source§impl<'py> IntoPyObject<'py> for NaiveDate
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for NaiveDate
chrono
only.Source§impl<'py> IntoPyObject<'py> for NaiveDateTime
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for NaiveDateTime
chrono
only.Source§impl<'py> IntoPyObject<'py> for NaiveTime
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for NaiveTime
chrono
only.Source§impl<'py> IntoPyObject<'py> for FixedOffset
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for FixedOffset
chrono
only.Source§impl<'py> IntoPyObject<'py> for Utc
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for Utc
chrono
only.Source§impl<'py> IntoPyObject<'py> for BigInt
Available on crate feature num-bigint
only.
impl<'py> IntoPyObject<'py> for BigInt
num-bigint
only.Source§impl<'py> IntoPyObject<'py> for BigUint
Available on crate feature num-bigint
only.
impl<'py> IntoPyObject<'py> for BigUint
num-bigint
only.Source§impl<'py> IntoPyObject<'py> for Complex<f32>
Available on crate feature num-complex
only.
impl<'py> IntoPyObject<'py> for Complex<f32>
num-complex
only.Source§impl<'py> IntoPyObject<'py> for Complex<f64>
Available on crate feature num-complex
only.
impl<'py> IntoPyObject<'py> for Complex<f64>
num-complex
only.Source§impl<'py> IntoPyObject<'py> for Ratio<i8>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<i8>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for Ratio<i16>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<i16>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for Ratio<i32>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<i32>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for Ratio<i64>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<i64>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for Ratio<isize>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<isize>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for Ratio<BigInt>
Available on crate feature num-rational
only.
impl<'py> IntoPyObject<'py> for Ratio<BigInt>
num-rational
only.Source§impl<'py> IntoPyObject<'py> for NonZeroI8
impl<'py> IntoPyObject<'py> for NonZeroI8
type Target = PyInt
type Output = Bound<'py, <NonZero<i8> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroI16
impl<'py> IntoPyObject<'py> for NonZeroI16
type Target = PyInt
type Output = Bound<'py, <NonZero<i16> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroI32
impl<'py> IntoPyObject<'py> for NonZeroI32
type Target = PyInt
type Output = Bound<'py, <NonZero<i32> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroI64
impl<'py> IntoPyObject<'py> for NonZeroI64
type Target = PyInt
type Output = Bound<'py, <NonZero<i64> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroI128
impl<'py> IntoPyObject<'py> for NonZeroI128
type Target = PyInt
type Output = Bound<'py, <NonZero<i128> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroIsize
impl<'py> IntoPyObject<'py> for NonZeroIsize
type Target = PyInt
type Output = Bound<'py, <NonZero<isize> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroU8
impl<'py> IntoPyObject<'py> for NonZeroU8
type Target = PyInt
type Output = Bound<'py, <NonZero<u8> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroU16
impl<'py> IntoPyObject<'py> for NonZeroU16
type Target = PyInt
type Output = Bound<'py, <NonZero<u16> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroU32
impl<'py> IntoPyObject<'py> for NonZeroU32
type Target = PyInt
type Output = Bound<'py, <NonZero<u32> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroU64
impl<'py> IntoPyObject<'py> for NonZeroU64
type Target = PyInt
type Output = Bound<'py, <NonZero<u64> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroU128
impl<'py> IntoPyObject<'py> for NonZeroU128
type Target = PyInt
type Output = Bound<'py, <NonZero<u128> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for NonZeroUsize
impl<'py> IntoPyObject<'py> for NonZeroUsize
type Target = PyInt
type Output = Bound<'py, <NonZero<usize> as IntoPyObject<'py>>::Target>
type Error = Infallible
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py> IntoPyObject<'py> for Duration
Available on crate feature chrono
only.
impl<'py> IntoPyObject<'py> for Duration
chrono
only.Source§impl<'py> IntoPyObject<'py> for Decimal
Available on crate feature rust_decimal
only.
impl<'py> IntoPyObject<'py> for Decimal
rust_decimal
only.Source§impl<'py, A> IntoPyObject<'py> for SmallVec<A>where
A: Array,
A::Item: IntoPyObject<'py>,
Available on crate feature smallvec
only.
impl<'py, A> IntoPyObject<'py> for SmallVec<A>where
A: Array,
A::Item: IntoPyObject<'py>,
smallvec
only.Source§impl<'py, K> IntoPyObject<'py> for BTreeSet<K>where
K: IntoPyObject<'py> + Ord,
impl<'py, K> IntoPyObject<'py> for BTreeSet<K>where
K: IntoPyObject<'py> + Ord,
Source§impl<'py, K, H> IntoPyObject<'py> for HashSet<K, H>
Available on crate feature hashbrown
only.
impl<'py, K, H> IntoPyObject<'py> for HashSet<K, H>
hashbrown
only.Source§impl<'py, K, S> IntoPyObject<'py> for HashSet<K, S>
impl<'py, K, S> IntoPyObject<'py> for HashSet<K, S>
Source§impl<'py, K, V> IntoPyObject<'py> for BTreeMap<K, V>
impl<'py, K, V> IntoPyObject<'py> for BTreeMap<K, V>
type Target = PyDict
type Output = Bound<'py, <BTreeMap<K, V> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, K, V, H> IntoPyObject<'py> for HashMap<K, V, H>
impl<'py, K, V, H> IntoPyObject<'py> for HashMap<K, V, H>
type Target = PyDict
type Output = Bound<'py, <HashMap<K, V, H> as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, K, V, H> IntoPyObject<'py> for HashMap<K, V, H>
Available on crate feature hashbrown
only.
impl<'py, K, V, H> IntoPyObject<'py> for HashMap<K, V, H>
hashbrown
only.Source§impl<'py, K, V, H> IntoPyObject<'py> for IndexMap<K, V, H>
Available on crate feature indexmap
only.
impl<'py, K, V, H> IntoPyObject<'py> for IndexMap<K, V, H>
indexmap
only.Source§impl<'py, L, R> IntoPyObject<'py> for Either<L, R>where
L: IntoPyObject<'py>,
R: IntoPyObject<'py>,
Available on crate feature either
only.
impl<'py, L, R> IntoPyObject<'py> for Either<L, R>where
L: IntoPyObject<'py>,
R: IntoPyObject<'py>,
either
only.Source§impl<'py, T0> IntoPyObject<'py> for (T0,)where
T0: IntoPyObject<'py>,
impl<'py, T0> IntoPyObject<'py> for (T0,)where
T0: IntoPyObject<'py>,
Source§impl<'py, T0, T1> IntoPyObject<'py> for (T0, T1)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
impl<'py, T0, T1> IntoPyObject<'py> for (T0, T1)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
Source§impl<'py, T0, T1, T2> IntoPyObject<'py> for (T0, T1, T2)
impl<'py, T0, T1, T2> IntoPyObject<'py> for (T0, T1, T2)
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3> IntoPyObject<'py> for (T0, T1, T2, T3)
impl<'py, T0, T1, T2, T3> IntoPyObject<'py> for (T0, T1, T2, T3)
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4> IntoPyObject<'py> for (T0, T1, T2, T3, T4)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4> IntoPyObject<'py> for (T0, T1, T2, T3, T4)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6, T7> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6, T7> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6, T7) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6, T7, T8) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
T10: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
T10: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
T10: IntoPyObject<'py>,
T11: IntoPyObject<'py>,
impl<'py, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: IntoPyObject<'py>,
T1: IntoPyObject<'py>,
T2: IntoPyObject<'py>,
T3: IntoPyObject<'py>,
T4: IntoPyObject<'py>,
T5: IntoPyObject<'py>,
T6: IntoPyObject<'py>,
T7: IntoPyObject<'py>,
T8: IntoPyObject<'py>,
T9: IntoPyObject<'py>,
T10: IntoPyObject<'py>,
T11: IntoPyObject<'py>,
type Target = PyTuple
type Output = Bound<'py, <(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) as IntoPyObject<'py>>::Target>
type Error = PyErr
fn into_pyobject(self, py: Python<'py>) -> Result<Self::Output, Self::Error>
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
experimental-inspect
only.Source§impl<'py, T> IntoPyObject<'py> for Cow<'_, [T]>
impl<'py, T> IntoPyObject<'py> for Cow<'_, [T]>
Source§impl<'py, T> IntoPyObject<'py> for Option<T>where
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObject<'py> for Option<T>where
T: IntoPyObject<'py>,
Source§impl<'py, T> IntoPyObject<'py> for Vec<T>where
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObject<'py> for Vec<T>where
T: IntoPyObject<'py>,
Source§impl<'py, T, const N: usize> IntoPyObject<'py> for [T; N]where
T: IntoPyObject<'py>,
impl<'py, T, const N: usize> IntoPyObject<'py> for [T; N]where
T: IntoPyObject<'py>,
Source§impl<'py, T: Copy + IntoPyObject<'py>> IntoPyObject<'py> for &Cell<T>
impl<'py, T: Copy + IntoPyObject<'py>> IntoPyObject<'py> for &Cell<T>
Source§impl<'py, T: Copy + IntoPyObject<'py>> IntoPyObject<'py> for Cell<T>
impl<'py, T: Copy + IntoPyObject<'py>> IntoPyObject<'py> for Cell<T>
Source§impl<'py, Tz: TimeZone> IntoPyObject<'py> for &DateTime<Tz>
Available on crate feature chrono
only.
impl<'py, Tz: TimeZone> IntoPyObject<'py> for &DateTime<Tz>
chrono
only.Source§impl<'py, Tz: TimeZone> IntoPyObject<'py> for DateTime<Tz>
Available on crate feature chrono
only.
impl<'py, Tz: TimeZone> IntoPyObject<'py> for DateTime<Tz>
chrono
only.Implementors§
Source§impl<'a, 'py, T> IntoPyObject<'py> for &'a Bound<'py, T>
impl<'a, 'py, T> IntoPyObject<'py> for &'a Bound<'py, T>
Source§impl<'a, 'py, T> IntoPyObject<'py> for &'a Py<T>
impl<'a, 'py, T> IntoPyObject<'py> for &'a Py<T>
Source§impl<'a, 'py, T> IntoPyObject<'py> for &Borrowed<'a, 'py, T>
impl<'a, 'py, T> IntoPyObject<'py> for &Borrowed<'a, 'py, T>
Source§impl<'a, 'py, T> IntoPyObject<'py> for Borrowed<'a, 'py, T>
impl<'a, 'py, T> IntoPyObject<'py> for Borrowed<'a, 'py, T>
Source§impl<'a, 'py, T: PyClass> IntoPyObject<'py> for &'a PyRef<'py, T>
impl<'a, 'py, T: PyClass> IntoPyObject<'py> for &'a PyRef<'py, T>
Source§impl<'py> IntoPyObject<'py> for &PyErr
impl<'py> IntoPyObject<'py> for &PyErr
type Target = PyBaseException
type Output = Bound<'py, <&PyErr as IntoPyObject<'py>>::Target>
type Error = Infallible
Source§impl<'py> IntoPyObject<'py> for &PyBackedBytes
impl<'py> IntoPyObject<'py> for &PyBackedBytes
type Target = PyBytes
type Output = Bound<'py, <&PyBackedBytes as IntoPyObject<'py>>::Target>
type Error = Infallible
Source§impl<'py> IntoPyObject<'py> for &PyBackedStr
impl<'py> IntoPyObject<'py> for &PyBackedStr
type Target = PyAny
type Output = Bound<'py, <&PyBackedStr as IntoPyObject<'py>>::Target>
type Error = Infallible
Source§impl<'py> IntoPyObject<'py> for &PySliceIndices
impl<'py> IntoPyObject<'py> for &PySliceIndices
type Target = PySlice
type Output = Bound<'py, <&PySliceIndices as IntoPyObject<'py>>::Target>
type Error = Infallible
Source§impl<'py> IntoPyObject<'py> for Coroutine
Available on crate feature experimental-async
only.
impl<'py> IntoPyObject<'py> for Coroutine
experimental-async
only.