Skip to content

Commit 4dbb211

Browse files
committed
release: 0.18.0
1 parent 9ccecfd commit 4dbb211

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 0.18.0 - 2022-08-24
2+
3+
- Add LICENSE file to the crate
4+
- Update to PyO3 0.18
5+
16
## 0.17.0 - 2022-08-24
27

38
- Update to PyO3 0.17

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pythonize"
3-
version = "0.17.0"
3+
version = "0.18.0"
44
authors = ["David Hewitt <[email protected]>"]
55
edition = "2018"
66
license = "MIT"
@@ -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.17.0", default-features = false }
15+
pyo3 = { version = "0.18.0", default-features = false }
1616

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

src/de.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
107107
where
108108
V: de::Visitor<'de>,
109109
{
110-
let s = self.input.cast_as::<PyString>()?.to_str()?;
110+
let s = self.input.downcast::<PyString>()?.to_str()?;
111111
if s.len() != 1 {
112112
return Err(PythonizeError::invalid_length_char());
113113
}
@@ -129,7 +129,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
129129
where
130130
V: de::Visitor<'de>,
131131
{
132-
let s: &PyString = self.input.cast_as()?;
132+
let s: &PyString = self.input.downcast()?;
133133
visitor.visit_str(s.to_str()?)
134134
}
135135

@@ -145,7 +145,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
145145
V: de::Visitor<'de>,
146146
{
147147
let obj = self.input;
148-
let b: &PyBytes = obj.cast_as()?;
148+
let b: &PyBytes = obj.downcast()?;
149149
visitor.visit_bytes(b.as_bytes())
150150
}
151151

@@ -249,20 +249,20 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
249249
let item = self.input;
250250
if item.is_instance_of::<PyDict>()? {
251251
// Get the enum variant from the dict key
252-
let d: &PyDict = item.cast_as().unwrap();
252+
let d: &PyDict = item.downcast().unwrap();
253253
if d.len() != 1 {
254254
return Err(PythonizeError::invalid_length_enum());
255255
}
256256
let variant: &PyString = d
257257
.keys()
258258
.get_item(0)?
259-
.cast_as()
259+
.downcast()
260260
.map_err(|_| PythonizeError::dict_key_not_string())?;
261261
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>()? {
265-
let s: &PyString = self.input.cast_as()?;
265+
let s: &PyString = self.input.downcast()?;
266266
visitor.visit_enum(s.to_str()?.into_deserializer())
267267
} else {
268268
Err(PythonizeError::invalid_enum_type())
@@ -275,7 +275,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Depythonizer<'de> {
275275
{
276276
let s: &PyString = self
277277
.input
278-
.cast_as()
278+
.downcast()
279279
.map_err(|_| PythonizeError::dict_key_not_string())?;
280280
visitor.visit_str(s.to_str()?)
281281
}

0 commit comments

Comments
 (0)