From c3023605879a3db1bd71ad1d50aba990c5b398b4 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Wed, 10 Nov 2021 09:44:50 +0100 Subject: [PATCH] Leverage simplified Python protocols --- instant-distance-py/src/lib.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/instant-distance-py/src/lib.rs b/instant-distance-py/src/lib.rs index 1a5b034..d4f4b34 100644 --- a/instant-distance-py/src/lib.rs +++ b/instant-distance-py/src/lib.rs @@ -7,11 +7,9 @@ use std::iter::FromIterator; use instant_distance::Point; use pyo3::conversion::IntoPy; use pyo3::exceptions::{PyTypeError, PyValueError}; -use pyo3::proc_macro::{pyclass, pymethods, pymodule, pyproto}; +use pyo3::proc_macro::{pyclass, pymethods, pymodule}; use pyo3::types::{PyList, PyModule, PyString}; -use pyo3::{ - Py, PyAny, PyErr, PyIterProtocol, PyObject, PyObjectProtocol, PyRef, PyRefMut, PyResult, Python, -}; +use pyo3::{Py, PyAny, PyErr, PyObject, PyRef, PyRefMut, PyResult, Python}; use serde::{Deserialize, Serialize}; use serde_big_array::big_array; @@ -158,10 +156,7 @@ impl Search { cur: None, } } -} -#[pyproto] -impl PyIterProtocol for Search { fn __iter__(slf: PyRef) -> PyRef { slf } @@ -330,8 +325,8 @@ struct Neighbor { value: PyObject, } -#[pyproto] -impl PyObjectProtocol for Neighbor { +#[pymethods] +impl Neighbor { fn __repr__(&self) -> PyResult { match Python::with_gil(|py| self.value.is_none(py)) { false => Ok(format!(