#[doc(hidden)] pub unsafe fn _call_traverse<T>(
    slf: *mut PyObject,
    impl_: fn(&T, PyVisit<'_>) -> Result<(), PyTraverseError>,
    visit: visitproc,
    arg: *mut c_void,
    current_traverse: traverseproc,
) -> c_intwhere
    T: PyClass,Expand description
Calls an implementation of traverse for tp_traverse
NB cannot accept 'static visitor, this is a sanity check below:
ⓘ
use pyo3::prelude::*;
use pyo3::pyclass::{PyTraverseError, PyVisit};
#[pyclass]
struct Foo;
#[pymethods]
impl Foo {
    fn __traverse__(&self, _visit: PyVisit<'static>) -> Result<(), PyTraverseError> {
        Ok(())
    }
}Elided lifetime should compile ok:
use pyo3::prelude::*;
use pyo3::pyclass::{PyTraverseError, PyVisit};
#[pyclass]
struct Foo;
#[pymethods]
impl Foo {
    fn __traverse__(&self, _visit: PyVisit<'_>) -> Result<(), PyTraverseError> {
        Ok(())
    }
}