Skip to content

Commit 904912d

Browse files
committed
fix clippy for pyo3
1 parent 35d34ab commit 904912d

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

rust/types/src/metadata.rs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ impl<'py> pyo3::IntoPyObject<'py> for SparseVector {
233233
fn into_pyobject(self, py: pyo3::Python<'py>) -> Result<Self::Output, Self::Error> {
234234
use pyo3::types::PyDict;
235235

236-
let dict = PyDict::new_bound(py);
236+
let dict = PyDict::new(py);
237237
dict.set_item("indices", self.indices)?;
238238
dict.set_item("values", self.values)?;
239239
dict.set_item("tokens", self.tokens)?;
@@ -247,20 +247,27 @@ impl<'py> pyo3::FromPyObject<'py> for SparseVector {
247247
use pyo3::types::PyDict;
248248

249249
let dict = ob.downcast::<PyDict>()?;
250-
let indices_obj = dict
251-
.get_item("indices")?
252-
.ok_or_else(|| pyo3::exceptions::PyKeyError::new_err("missing 'indices' key"))?;
253-
let values_obj = dict
254-
.get_item("values")?
255-
.ok_or_else(|| pyo3::exceptions::PyKeyError::new_err("missing 'values' key"))?;
250+
let indices_obj = dict.get_item("indices")?;
251+
if indices_obj.is_none() {
252+
return Err(pyo3::exceptions::PyKeyError::new_err(
253+
"missing 'indices' key",
254+
));
255+
}
256+
let values_obj = dict.get_item("values")?;
257+
if values_obj.is_none() {
258+
return Err(pyo3::exceptions::PyKeyError::new_err(
259+
"missing 'values' key",
260+
));
261+
}
256262

257263
let indices: Vec<u32> = indices_obj.extract()?;
258264
let values: Vec<f32> = values_obj.extract()?;
259265

260-
let tokens = match dict.get_item("tokens")? {
261-
Some(item) if item.is_none() => None,
262-
Some(item) => Some(item.extract::<Vec<String>>()?),
263-
None => None,
266+
let tokens_obj = dict.get_item("tokens")?;
267+
let tokens = if tokens_obj.is_none() {
268+
None
269+
} else {
270+
Some(tokens_obj.extract::<Vec<String>>()?)
264271
};
265272

266273
Ok(SparseVector::new(indices, values, tokens))
@@ -2438,7 +2445,7 @@ mod tests {
24382445
use pyo3::types::PyDict;
24392446
use pyo3::IntoPyObject;
24402447

2441-
let dict_in = PyDict::new_bound(py);
2448+
let dict_in = PyDict::new(py);
24422449
dict_in.set_item("indices", vec![0u32, 1, 2]).unwrap();
24432450
dict_in
24442451
.set_item("values", vec![0.1f32, 0.2f32, 0.3f32])
@@ -2461,10 +2468,8 @@ mod tests {
24612468

24622469
let py_obj = sparse.clone().into_pyobject(py).unwrap();
24632470
let dict_out = py_obj.downcast::<PyDict>().unwrap();
2464-
let tokens_obj = dict_out
2465-
.get_item("tokens")
2466-
.unwrap()
2467-
.expect("expected tokens key in Python dict");
2471+
let tokens_obj = dict_out.get_item("tokens").unwrap();
2472+
assert!(!tokens_obj.is_none(), "expected tokens key in Python dict");
24682473
let tokens: Vec<String> = tokens_obj.extract().unwrap();
24692474
assert_eq!(
24702475
tokens,
@@ -2480,7 +2485,7 @@ mod tests {
24802485
use pyo3::types::PyDict;
24812486
use pyo3::IntoPyObject;
24822487

2483-
let dict_in = PyDict::new_bound(py);
2488+
let dict_in = PyDict::new(py);
24842489
dict_in.set_item("indices", vec![5u32]).unwrap();
24852490
dict_in.set_item("values", vec![1.5f32]).unwrap();
24862491

@@ -2491,10 +2496,8 @@ mod tests {
24912496

24922497
let py_obj = sparse.into_pyobject(py).unwrap();
24932498
let dict_out = py_obj.downcast::<PyDict>().unwrap();
2494-
match dict_out.get_item("tokens").unwrap() {
2495-
Some(obj) => assert!(obj.is_none()),
2496-
None => panic!("expected tokens key in Python dict"),
2497-
}
2499+
let tokens_obj = dict_out.get_item("tokens").unwrap();
2500+
assert!(tokens_obj.is_none(), "expected tokens to be None");
24982501
});
24992502
}
25002503

0 commit comments

Comments
 (0)