[][src]Struct pyo3::types::PyAny

#[repr(transparent)]
pub struct 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]

pub fn downcast_mut<T>(&self) -> Result<&mut T, PyDowncastError> where
    T: for<'gil> PyTryFrom<'gil>, 
[src]

Trait Implementations

impl AsPyPointer for PyAny[src]

fn as_ptr(&self) -> *mut PyObject[src]

Gets the underlying FFI pointer, returns a borrowed pointer.

impl ToPyObject for PyAny[src]

impl<U> PyTryInto<U> for PyAny where
    U: for<'v> PyTryFrom<'v>, 
[src]

impl PyNativeType for PyAny[src]

fn py(&self) -> Python[src]

impl AsPyRef<PyAny> for PyObject[src]

fn with<F, R>(&self, f: F) -> R where
    F: FnOnce(Python, PyRef<T>) -> R, 
[src]

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]

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]

fn into_mut_py<F, R>(self, f: F) -> R where
    Self: IntoPyPointer,
    F: FnOnce(Python, PyRefMut<T>) -> R, 
[src]

impl PyTypeInfo for PyAny[src]

type Type = ()

Type of objects to store in PyObject struct

type BaseType = PyAny

Base class

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 type_object() -> Py<PyType>[src]

Returns the safe abstraction over the type object from PyTypeObject::init_type

impl PartialEq<PyAny> for PyAny[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl<'a, T> From<PyRef<'a, T>> for &'a PyAny where
    T: PyTypeInfo
[src]

impl<'a, T> From<PyRefMut<'a, T>> for &'a PyAny where
    T: PyTypeInfo
[src]

impl<'a> From<&'a PyBool> for &'a PyAny[src]

impl<'a> From<&'a PyByteArray> for &'a PyAny[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]

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]

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 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 Send for PyAny

impl Sync for PyAny

Blanket Implementations

impl<T> PyObjectAlloc for T where
    T: PyObjectWithFreeList
[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]

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]

#[must_use]
fn create(py: Python) -> PyResult<PyRawObject>
[src]

Create PyRawObject which can be initialized with rust value

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.