From 149aa3a0eb15258cf50418eae9b4e74b0fd728e5 Mon Sep 17 00:00:00 2001 From: Nikolay Kim Date: Fri, 14 Jul 2017 16:21:18 -0700 Subject: [PATCH] always inline all py() --- pyo3cls/src/py_class.rs | 4 ++-- src/instance.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyo3cls/src/py_class.rs b/pyo3cls/src/py_class.rs index e5e392cc..41e1c192 100644 --- a/pyo3cls/src/py_class.rs +++ b/pyo3cls/src/py_class.rs @@ -51,12 +51,12 @@ fn impl_class(cls: &syn::Ident, base: &syn::Ident, None => quote! { #cls }.as_str().to_string() }; - let extra = if let Some(_) = token { + let extra = if let Some(token) = token { Some(quote! { impl _pyo3::PyObjectWithToken for #cls { #[inline(always)] fn py<'p>(&'p self) -> _pyo3::Python<'p> { - unsafe { _pyo3::Python::assume_gil_acquired() } + self.#token.py() } } impl _pyo3::ToPyObject for #cls { diff --git a/src/instance.rs b/src/instance.rs index 8c62dcfe..dcc8d35a 100644 --- a/src/instance.rs +++ b/src/instance.rs @@ -18,7 +18,7 @@ use typeob::{PyTypeInfo, PyObjectAlloc}; pub struct PyToken(PhantomData>); impl PyToken { - #[inline] + #[inline(always)] pub fn py<'p>(&'p self) -> Python<'p> { unsafe { Python::assume_gil_acquired() } }