Skip to content

Commit c3eb1ef

Browse files
authored
Merge pull request #44 from remusao/main
Bumped Pyo3 to 0.20
2 parents fa6d1a5 + 3d8678a commit c3eb1ef

4 files changed

Lines changed: 12 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## Unreleased
2+
3+
- Update to PyO3 0.20
4+
15
## 0.19.0 - 2023-06-11
26

37
- Update to PyO3 0.19

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ documentation = "https://docs.rs/crate/pythonize/"
1212

1313
[dependencies]
1414
serde = { version = "1.0", default-features = false, features = ["std"] }
15-
pyo3 = { version = "0.19.0", default-features = false }
15+
pyo3 = { version = "0.20.0", default-features = false }
1616

1717
[dev-dependencies]
1818
serde = { version = "1.0", default-features = false, features = ["derive"] }
19-
pyo3 = { version = "0.19.0", default-features = false, features = ["auto-initialize", "macros"] }
19+
pyo3 = { version = "0.20.0", default-features = false, features = ["auto-initialize", "macros"] }
2020
serde_json = "1.0"
2121
maplit = "1.0.2"

src/de.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
8585
self.deserialize_tuple(obj.len()?, visitor)
8686
} else if obj.is_instance_of::<PyUnicode>() {
8787
self.deserialize_str(visitor)
88-
} else if let Ok(_) = obj.downcast::<PySequence>() {
88+
} else if obj.downcast::<PySequence>().is_ok() {
8989
self.deserialize_tuple(obj.len()?, visitor)
9090
} else if obj.downcast::<PyMapping>().is_ok() {
9191
self.deserialize_map(visitor)
@@ -258,7 +258,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
258258
.get_item(0)?
259259
.downcast()
260260
.map_err(|_| PythonizeError::dict_key_not_string())?;
261-
let value = d.get_item(variant).unwrap();
261+
let value = d.get_item(variant)?.unwrap();
262262
let mut de = Depythonizer::from_object(value);
263263
visitor.visit_enum(PyEnumAccess::new(&mut de, variant))
264264
} else if item.is_instance_of::<PyString>() {
@@ -437,7 +437,7 @@ mod test {
437437
let locals = PyDict::new(py);
438438
py.run(&format!("obj = {}", code), None, Some(locals))
439439
.unwrap();
440-
let obj = locals.get_item("obj").unwrap();
440+
let obj = locals.get_item("obj").unwrap().unwrap();
441441
let actual: T = depythonize(obj).unwrap();
442442
assert_eq!(&actual, expected);
443443
let actual_json: JsonValue = depythonize(obj).unwrap();
@@ -493,7 +493,7 @@ mod test {
493493
let locals = PyDict::new(py);
494494
py.run(&format!("obj = {}", code), None, Some(locals))
495495
.unwrap();
496-
let obj = locals.get_item("obj").unwrap();
496+
let obj = locals.get_item("obj").unwrap().unwrap();
497497
assert!(matches!(
498498
*depythonize::<Struct>(obj).unwrap_err().inner,
499499
ErrorImpl::Message(msg) if msg == "missing field `bar`"
@@ -523,7 +523,7 @@ mod test {
523523
let locals = PyDict::new(py);
524524
py.run(&format!("obj = {}", code), None, Some(locals))
525525
.unwrap();
526-
let obj = locals.get_item("obj").unwrap();
526+
let obj = locals.get_item("obj").unwrap().unwrap();
527527
assert!(matches!(
528528
*depythonize::<TupleStruct>(obj).unwrap_err().inner,
529529
ErrorImpl::IncorrectSequenceLength { expected, got } if expected == 2 && got == 3

src/ser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ mod test {
474474
None,
475475
Some(locals),
476476
)?;
477-
let result = locals.get_item("result").unwrap().extract::<&str>()?;
477+
let result = locals.get_item("result")?.unwrap().extract::<&str>()?;
478478

479479
assert_eq!(result, expected);
480480
assert_eq!(serde_json::to_string(&src).unwrap(), expected);

0 commit comments

Comments
 (0)