Skip to content

Commit 55eae0f

Browse files
authored
Merge pull request #13 from davidhewitt/dependabot/cargo/pyo3-0.13
build(deps): update pyo3 requirement from 0.12 to 0.13
2 parents 91eabbf + df4ef1e commit 55eae0f

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## Unreleased
2+
- Update to PyO3 0.13
3+
14
## 0.12.1 - 2020-12-08
25
- Require `std` feature of `serde`.
36
- Reduce memory consumption when deserializing sequences.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ documentation = "https://docs.rs/crate/pythonize/"
1212

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

1717
[dev-dependencies]
1818
serde = { version = "1.0", default-features = false, features = ["derive"] }

src/de.rs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use pyo3::type_object::PyTypeInfo;
21
use pyo3::types::*;
32
use serde::de::{self, IntoDeserializer};
43
use serde::Deserialize;
@@ -67,32 +66,34 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
6766

6867
if obj.is_none() {
6968
self.deserialize_unit(visitor)
70-
} else if PyBool::is_instance(obj) {
69+
} else if obj.is_instance::<PyBool>()? {
7170
self.deserialize_bool(visitor)
72-
} else if PyByteArray::is_instance(obj) || PyBytes::is_instance(obj) {
71+
} else if obj.is_instance::<PyByteArray>()? || obj.is_instance::<PyBytes>()? {
7372
self.deserialize_bytes(visitor)
74-
} else if PyDict::is_instance(obj) {
73+
} else if obj.is_instance::<PyDict>()? {
7574
self.deserialize_map(visitor)
76-
} else if PyFloat::is_instance(obj) {
75+
} else if obj.is_instance::<PyFloat>()? {
7776
self.deserialize_f64(visitor)
78-
} else if PyFrozenSet::is_instance(obj) {
77+
} else if obj.is_instance::<PyFrozenSet>()? {
7978
self.deserialize_tuple(obj.len()?, visitor)
80-
} else if PyInt::is_instance(obj) {
79+
} else if obj.is_instance::<PyInt>()? {
8180
self.deserialize_i64(visitor)
82-
} else if PyList::is_instance(obj) {
81+
} else if obj.is_instance::<PyList>()? {
8382
self.deserialize_tuple(obj.len()?, visitor)
84-
} else if PyLong::is_instance(obj) {
83+
} else if obj.is_instance::<PyLong>()? {
8584
self.deserialize_i64(visitor)
86-
} else if PySet::is_instance(obj) {
85+
} else if obj.is_instance::<PySet>()? {
8786
self.deserialize_tuple(obj.len()?, visitor)
88-
} else if PyString::is_instance(obj) {
87+
} else if obj.is_instance::<PyString>()? {
8988
self.deserialize_str(visitor)
90-
} else if PyTuple::is_instance(obj) {
89+
} else if obj.is_instance::<PyTuple>()? {
9190
self.deserialize_tuple(obj.len()?, visitor)
92-
} else if PyUnicode::is_instance(obj) {
91+
} else if obj.is_instance::<PyUnicode>()? {
9392
self.deserialize_str(visitor)
9493
} else {
95-
Err(PythonizeError::unsupported_type(obj.get_type().name()))
94+
Err(PythonizeError::unsupported_type(
95+
obj.get_type().name().unwrap_or("<unknown>"),
96+
))
9697
}
9798
}
9899

@@ -247,7 +248,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
247248
V: de::Visitor<'de>,
248249
{
249250
let item = self.input;
250-
if PyDict::is_instance(item) {
251+
if item.is_instance::<PyDict>()? {
251252
// Get the enum variant from the dict key
252253
let d: &PyDict = item.cast_as().unwrap();
253254
if d.len() != 1 {
@@ -261,7 +262,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
261262
let value = d.get_item(variant).unwrap();
262263
let mut de = Depythonizer::from_object(value);
263264
visitor.visit_enum(PyEnumAccess::new(&mut de, variant))
264-
} else if PyString::is_instance(item) {
265+
} else if item.is_instance::<PyString>()? {
265266
let s: &PyString = self.input.cast_as()?;
266267
visitor.visit_enum(s.to_str()?.into_deserializer())
267268
} else {

0 commit comments

Comments
 (0)