[−][src]Struct pyo3::types::PyAny
Represents a python's Any type.
We can convert all python objects as PyAny.
In addition, if the inner object is an instance of type T, we can downcast
PyAny into T.
Example
use pyo3::prelude::*; use pyo3::types::{PyAny, PyDict, PyList}; let gil = Python::acquire_gil(); let dict = PyDict::new(gil.python()); assert!(gil.python().is_instance::<PyAny, _>(dict).unwrap()); let any = dict.as_ref(); assert!(any.downcast_ref::<PyDict>().is_ok()); assert!(any.downcast_ref::<PyList>().is_err());
Methods
impl PyAny[src]
pub fn downcast_ref<T>(&self) -> Result<&T, PyDowncastError> where
T: for<'gil> PyTryFrom<'gil>, [src]
T: for<'gil> PyTryFrom<'gil>,
pub fn downcast_mut<T>(&self) -> Result<&mut T, PyDowncastError> where
T: for<'gil> PyTryFrom<'gil>, [src]
T: for<'gil> PyTryFrom<'gil>,
Trait Implementations
impl AsPyPointer for PyAny[src]
impl ToPyObject for PyAny[src]
impl<U> PyTryInto<U> for PyAny where
U: for<'v> PyTryFrom<'v>, [src]
U: for<'v> PyTryFrom<'v>,
fn try_into(&self) -> Result<&U, PyDowncastError>[src]
fn try_into_exact(&self) -> Result<&U, PyDowncastError>[src]
fn try_into_mut(&self) -> Result<&mut U, PyDowncastError>[src]
fn try_into_mut_exact(&self) -> Result<&mut U, PyDowncastError>[src]
impl PyNativeType for PyAny[src]
impl AsPyRef<PyAny> for PyObject[src]
fn as_ref(&self, _py: Python) -> PyRef<PyAny>[src]
fn as_mut(&mut self, _py: Python) -> PyRefMut<PyAny>[src]
fn with<F, R>(&self, f: F) -> R where
F: FnOnce(Python, PyRef<T>) -> R, [src]
F: FnOnce(Python, PyRef<T>) -> R,
Acquire python gil and call closure with object reference.
fn with_mut<F, R>(&mut self, f: F) -> R where
F: FnOnce(Python, PyRefMut<T>) -> R, [src]
F: FnOnce(Python, PyRefMut<T>) -> R,
Acquire python gil and call closure with mutable object reference.
fn into_py<F, R>(self, f: F) -> R where
Self: IntoPyPointer,
F: FnOnce(Python, PyRef<T>) -> R, [src]
Self: IntoPyPointer,
F: FnOnce(Python, PyRef<T>) -> R,
fn into_mut_py<F, R>(self, f: F) -> R where
Self: IntoPyPointer,
F: FnOnce(Python, PyRefMut<T>) -> R, [src]
Self: IntoPyPointer,
F: FnOnce(Python, PyRefMut<T>) -> R,
impl PyTypeInfo for PyAny[src]
type Type = ()
Type of objects to store in PyObject struct
type BaseType = PyAny
Base class
const NAME: &'static str[src]
const SIZE: usize[src]
const OFFSET: isize[src]
unsafe fn type_object() -> &'static mut PyTypeObject[src]
fn is_instance(ptr: &PyAny) -> bool[src]
const DESCRIPTION: &'static str[src]
Class doc string
const FLAGS: usize[src]
Type flags (ie PY_TYPE_FLAG_GC, PY_TYPE_FLAG_WEAKREF)
fn is_exact_instance(object: &PyAny) -> bool[src]
Check if *mut ffi::PyObject is exact instance of this type
impl PyObjectAlloc for PyAny[src]
unsafe fn alloc(_py: Python) -> *mut PyObject[src]
unsafe fn dealloc(py: Python, obj: *mut PyObject)[src]
Calls the rust destructor for the object and frees the memory (usually by calling ptr->ob_type->tp_free). This function is used as tp_dealloc implementation. Read more
unsafe fn drop(py: Python, obj: *mut PyObject)[src]
Calls the rust destructor for the object.
impl PyTypeObject for PyAny[src]
fn init_type() -> NonNull<PyTypeObject>[src]
fn type_object() -> Py<PyType>[src]
Returns the safe abstraction over the type object from PyTypeObject::init_type
impl<'a, T> From<PyRef<'a, T>> for &'a PyAny where
T: PyTypeInfo, [src]
T: PyTypeInfo,
impl<'a, T> From<PyRefMut<'a, T>> for &'a PyAny where
T: PyTypeInfo, [src]
T: PyTypeInfo,
impl<'a> From<&'a PyBool> for &'a PyAny[src]
impl<'a> From<&'a PyByteArray> for &'a PyAny[src]
fn from(ob: &'a PyByteArray) -> Self[src]
impl<'a> From<&'a PyComplex> for &'a PyAny[src]
impl<'a> From<&'a PyDate> for &'a PyAny[src]
impl<'a> From<&'a PyDateTime> for &'a PyAny[src]
fn from(ob: &'a PyDateTime) -> Self[src]
impl<'a> From<&'a PyTime> for &'a PyAny[src]
impl<'a> From<&'a PyTzInfo> for &'a PyAny[src]
impl<'a> From<&'a PyDelta> for &'a PyAny[src]
impl<'a> From<&'a PyDict> for &'a PyAny[src]
impl<'a> From<&'a PyFloat> for &'a PyAny[src]
impl<'a> From<&'a PyList> for &'a PyAny[src]
impl<'a> From<&'a PyModule> for &'a PyAny[src]
impl<'a> From<&'a PyLong> for &'a PyAny[src]
impl<'a> From<&'a PySet> for &'a PyAny[src]
impl<'a> From<&'a PyFrozenSet> for &'a PyAny[src]
fn from(ob: &'a PyFrozenSet) -> Self[src]
impl<'a> From<&'a PySlice> for &'a PyAny[src]
impl<'a> From<&'a PyString> for &'a PyAny[src]
impl<'a> From<&'a PyBytes> for &'a PyAny[src]
impl<'a> From<&'a PyTuple> for &'a PyAny[src]
impl<'a> From<&'a PyType> for &'a PyAny[src]
impl PartialEq<PyAny> for PyAny[src]
fn eq(&self, o: &PyAny) -> bool[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl AsRef<PyAny> for PyAny[src]
impl AsRef<PyAny> for PyBool[src]
impl AsRef<PyAny> for PyByteArray[src]
impl AsRef<PyAny> for PyComplex[src]
impl AsRef<PyAny> for PyDate[src]
impl AsRef<PyAny> for PyDateTime[src]
impl AsRef<PyAny> for PyTime[src]
impl AsRef<PyAny> for PyTzInfo[src]
impl AsRef<PyAny> for PyDelta[src]
impl AsRef<PyAny> for PyDict[src]
impl AsRef<PyAny> for PyFloat[src]
impl AsRef<PyAny> for PyList[src]
impl AsRef<PyAny> for PyModule[src]
impl AsRef<PyAny> for PyLong[src]
impl AsRef<PyAny> for PySequence[src]
impl AsRef<PyAny> for PySet[src]
impl AsRef<PyAny> for PyFrozenSet[src]
impl AsRef<PyAny> for PySlice[src]
impl AsRef<PyAny> for PyString[src]
impl AsRef<PyAny> for PyBytes[src]
impl AsRef<PyAny> for PyTuple[src]
impl AsRef<PyAny> for PyType[src]
impl Display for PyAny[src]
impl Debug for PyAny[src]
Auto Trait Implementations
impl Unpin for PyAny
impl Sync for PyAny
impl Send for PyAny
impl RefUnwindSafe for PyAny
impl UnwindSafe for PyAny
Blanket Implementations
impl<T> PyObjectAlloc for T where
T: PyObjectWithFreeList, [src]
T: PyObjectWithFreeList,
unsafe fn alloc(Python) -> *mut PyObject[src]
unsafe fn dealloc(Python, *mut PyObject)[src]
unsafe fn drop(py: Python, obj: *mut PyObject)[src]
Calls the rust destructor for the object.
impl<T> PyTypeObject for T where
T: PyTypeInfo + PyMethodsProtocol + PyObjectAlloc, [src]
T: PyTypeInfo + PyMethodsProtocol + PyObjectAlloc,
fn init_type() -> NonNull<PyTypeObject>[src]
fn type_object() -> Py<PyType>[src]
Returns the safe abstraction over the type object from PyTypeObject::init_type
impl<T> PyTypeCreate for T where
T: PyObjectAlloc + PyTypeObject, [src]
T: PyObjectAlloc + PyTypeObject,
#[must_use]
fn create(py: Python) -> PyResult<PyRawObject>[src]
Create PyRawObject which can be initialized with rust value
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,