Remove dependency on gil-refs feature

(which will be removed in future versions)
This commit is contained in:
Simon Hausmann 2025-04-03 09:54:14 +02:00 committed by Simon Hausmann
parent 9253af05b1
commit ad74c31ed4
2 changed files with 12 additions and 14 deletions

View file

@ -60,7 +60,6 @@ pyo3 = { version = "0.22", features = [
"indexmap", "indexmap",
"chrono", "chrono",
"abi3-py310", "abi3-py310",
"gil-refs",
] } ] }
indexmap = { version = "2.1.0" } indexmap = { version = "2.1.0" }
chrono = "0.4" chrono = "0.4"

View file

@ -98,19 +98,18 @@ impl<'py> FromPyObject<'py> for PyValue {
}) })
}) })
.or_else(|_| { .or_else(|_| {
ob.extract::<&PyDict>().and_then(|dict| { let dict = ob.downcast::<PyDict>()?;
let dict_items: Result<Vec<(String, slint_interpreter::Value)>, PyErr> = dict let dict_items: Result<Vec<(String, slint_interpreter::Value)>, PyErr> = dict
.iter() .iter()
.map(|(name, pyval)| { .map(|(name, pyval)| {
let name = name.extract::<&str>()?.to_string(); let name = name.extract::<&str>()?.to_string();
let slintval = PyValue::extract(pyval)?; let slintval = PyValue::extract_bound(&pyval)?;
Ok((name, slintval.0)) Ok((name, slintval.0))
}) })
.collect::<Result<Vec<(_, _)>, PyErr>>(); .collect::<Result<Vec<(_, _)>, PyErr>>();
Ok(slint_interpreter::Value::Struct(slint_interpreter::Struct::from_iter( Ok::<_, PyErr>(slint_interpreter::Value::Struct(
dict_items?.into_iter(), slint_interpreter::Struct::from_iter(dict_items?.into_iter()),
))) ))
})
})?; })?;
Ok(PyValue(interpreter_val)) Ok(PyValue(interpreter_val))