Bump pyo3 0.24 -> 0.29 so symclaw-python builds on Python 3.14
The bindings could not build against the installed interpreter, so the whole workspace had to be checked with --exclude symclaw-python. Two API changes: PyObject left the prelude (now Py<PyAny>), and #[pyclass] types implementing Clone must opt in to the FromPyObject derive. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
@@ -14,6 +14,6 @@ crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
symclaw-core = { path = "../symclaw-core" }
|
||||
pyo3 = { version = "0.24", features = ["extension-module"] }
|
||||
pyo3 = { version = "0.29", features = ["extension-module"] }
|
||||
num-rational = { workspace = true }
|
||||
ordered-float = { workspace = true }
|
||||
|
||||
@@ -163,7 +163,7 @@ fn py_to_expr(obj: &Bound<'_, PyAny>) -> PyResult<Arc<Expr>> {
|
||||
// ── PyExpr ───────────────────────────────────────────────────────
|
||||
|
||||
/// A Python-facing symbolic expression.
|
||||
#[pyclass(name = "Expression")]
|
||||
#[pyclass(name = "Expression", from_py_object)]
|
||||
#[derive(Clone)]
|
||||
struct PyExpr {
|
||||
inner: Arc<Expr>,
|
||||
@@ -482,7 +482,7 @@ impl PyLimitResult {
|
||||
/// Create symbol(s). Single name returns Expression, comma-separated returns tuple.
|
||||
#[pyfunction]
|
||||
#[pyo3(name = "S")]
|
||||
fn py_s(py: Python<'_>, names: &str) -> PyResult<PyObject> {
|
||||
fn py_s(py: Python<'_>, names: &str) -> PyResult<Py<PyAny>> {
|
||||
let parts: Vec<&str> = names
|
||||
.split(',')
|
||||
.map(str::trim)
|
||||
|
||||
Reference in New Issue
Block a user