From 266a477aedcb2a1d65bc19c3f15d3cf5528f9184 Mon Sep 17 00:00:00 2001 From: Ben Frederickson Date: Tue, 28 Apr 2026 10:35:01 -0700 Subject: [PATCH] Bump cpp_demangle and pyo3 versions --- Cargo.toml | 4 ++-- src/lib.rs | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 567897a..3a34507 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,8 +9,8 @@ name = "cpp_demangle" crate-type = ["cdylib"] [dependencies] -cpp_demangle = "0.4.0" +cpp_demangle = "0.5.1" [dependencies.pyo3] -version = "0.17.3" +version = "0.28.3" features = ["extension-module", "abi3"] diff --git a/src/lib.rs b/src/lib.rs index 6a38222..6517388 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,4 @@ use pyo3::prelude::*; -use pyo3::exceptions; - // This defines a python module. pyo3 will copy the rust doc comment @@ -24,15 +22,18 @@ use pyo3::exceptions; /// ... /// ValueError: ('Could not demangle symbol', 'mangled symbol is not well-formed') #[pymodule] -fn cpp_demangle(_py: Python, m: &PyModule) -> PyResult<()> { +mod cpp_demangle { + use pyo3::prelude::*; + use pyo3::exceptions; + // This adds a function to the python module: /// Demangles a mangled c++ linker symbol name and returns it as a string - #[pyfn(m)] + #[pyfunction] fn demangle(mangled: String) -> PyResult { let symbol = ::cpp_demangle::Symbol::new(&mangled[..]).map_err(|error| { exceptions::PyValueError::new_err(("Could not demangle symbol", error.to_string())) })?; - let demangled = symbol.demangle(&Default::default()).map_err(|error| { + let demangled = symbol.demangle().map_err(|error| { exceptions::PyValueError::new_err(( "Could not format demangled name as string", error.to_string(), @@ -41,6 +42,4 @@ fn cpp_demangle(_py: Python, m: &PyModule) -> PyResult<()> { Ok(demangled) } - - Ok(()) }