pyo3 update to 0.27 dev

Fri, 28 Nov 2025 11:28:01 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Fri, 28 Nov 2025 11:28:01 -0500
branch
dev
changeset 189
14193146d8f2
parent 188
7f13c9924b30
child 190
1f1b946fc656

pyo3 update to 0.27

Cargo.lock file | annotate | diff | comparison | revisions
Cargo.toml file | annotate | diff | comparison | revisions
src/direct_product.rs file | annotate | diff | comparison | revisions
--- a/Cargo.lock	Tue Sep 09 08:24:27 2025 -0500
+++ b/Cargo.lock	Fri Nov 28 11:28:01 2025 -0500
@@ -325,9 +325,9 @@
 
 [[package]]
 name = "pyo3"
-version = "0.26.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
+checksum = "37a6df7eab65fc7bee654a421404947e10a0f7085b6951bf2ea395f4659fb0cf"
 dependencies = [
  "indoc",
  "libc",
@@ -342,18 +342,18 @@
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.26.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
+checksum = "f77d387774f6f6eec64a004eac0ed525aab7fa1966d94b42f743797b3e395afb"
 dependencies = [
  "target-lexicon",
 ]
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.26.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
+checksum = "2dd13844a4242793e02df3e2ec093f540d948299a6a77ea9ce7afd8623f542be"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -361,9 +361,9 @@
 
 [[package]]
 name = "pyo3-macros"
-version = "0.26.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
+checksum = "eaf8f9f1108270b90d3676b8679586385430e5c0bb78bb5f043f95499c821a71"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -373,9 +373,9 @@
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.26.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
+checksum = "70a3b2274450ba5288bc9b8c1b69ff569d1d61189d4bff38f8d22e03d17f932b"
 dependencies = [
  "heck",
  "proc-macro2",
--- a/Cargo.toml	Tue Sep 09 08:24:27 2025 -0500
+++ b/Cargo.toml	Fri Nov 28 11:28:01 2025 -0500
@@ -31,7 +31,7 @@
 rayon = "1.5.3"
 simba = "0.9.0"
 anyhow = "1.0.95"
-pyo3 = { version = "~0.26.0", optional = true }
+pyo3 = { version = "~0.27.0", optional = true }
 
 [package.metadata.docs.rs]
 rustdoc-args = ["--html-in-header", "katex-header.html"]
--- a/src/direct_product.rs	Tue Sep 09 08:24:27 2025 -0500
+++ b/src/direct_product.rs	Fri Nov 28 11:28:01 2025 -0500
@@ -648,7 +648,7 @@
     use super::Pair;
     use pyo3::conversion::FromPyObject;
     use pyo3::types::{PyAny, PyTuple};
-    use pyo3::{Bound, IntoPyObject, PyErr, PyResult, Python};
+    use pyo3::{Borrowed, Bound, IntoPyObject, PyErr, Python};
 
     impl<'py, A, B> IntoPyObject<'py> for Pair<A, B>
     where
@@ -694,13 +694,15 @@
     }
     */
 
-    impl<'py, A, B> FromPyObject<'py> for Pair<A, B>
+    impl<'a, 'py, A, B> FromPyObject<'a, 'py> for Pair<A, B>
     where
-        A: Clone + FromPyObject<'py>,
-        B: Clone + FromPyObject<'py>,
+        A: Clone + FromPyObject<'a, 'py>,
+        B: Clone + FromPyObject<'a, 'py>,
     {
-        fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self> {
-            FromPyObject::extract_bound(ob).map(|(a, b)| Pair(a, b))
+        type Error = PyErr;
+
+        fn extract(ob: Borrowed<'a, 'py, PyAny>) -> Result<Self, PyErr> {
+            FromPyObject::extract(ob).map(|(a, b)| Pair(a, b))
         }
     }
 }

mercurial