File: revert-pyo3-0.19.patch

package info (click to toggle)
rust-pythonize 0.19.0-1~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 236 kB
  • sloc: makefile: 2
file content (122 lines) | stat: -rw-r--r-- 4,983 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Subject: Revert: Bumped Pyo3 to 0.19

--- b/src/de.rs
+++ a/src/de.rs
@@ -61,29 +61,29 @@
 
         if obj.is_none() {
             self.deserialize_unit(visitor)
+        } else if obj.is_instance_of::<PyBool>()? {
-        } else if obj.is_instance_of::<PyBool>() {
             self.deserialize_bool(visitor)
+        } else if obj.is_instance_of::<PyByteArray>()? || obj.is_instance_of::<PyBytes>()? {
-        } else if obj.is_instance_of::<PyByteArray>() || obj.is_instance_of::<PyBytes>() {
             self.deserialize_bytes(visitor)
+        } else if obj.is_instance_of::<PyDict>()? {
-        } else if obj.is_instance_of::<PyDict>() {
             self.deserialize_map(visitor)
+        } else if obj.is_instance_of::<PyFloat>()? {
-        } else if obj.is_instance_of::<PyFloat>() {
             self.deserialize_f64(visitor)
+        } else if obj.is_instance_of::<PyFrozenSet>()? {
-        } else if obj.is_instance_of::<PyFrozenSet>() {
             self.deserialize_tuple(obj.len()?, visitor)
+        } else if obj.is_instance_of::<PyInt>()? {
-        } else if obj.is_instance_of::<PyInt>() {
             self.deserialize_i64(visitor)
+        } else if obj.is_instance_of::<PyList>()? {
-        } else if obj.is_instance_of::<PyList>() {
             self.deserialize_tuple(obj.len()?, visitor)
+        } else if obj.is_instance_of::<PyLong>()? {
-        } else if obj.is_instance_of::<PyLong>() {
             self.deserialize_i64(visitor)
+        } else if obj.is_instance_of::<PySet>()? {
-        } else if obj.is_instance_of::<PySet>() {
             self.deserialize_tuple(obj.len()?, visitor)
+        } else if obj.is_instance_of::<PyString>()? {
-        } else if obj.is_instance_of::<PyString>() {
             self.deserialize_str(visitor)
+        } else if obj.is_instance_of::<PyTuple>()? {
-        } else if obj.is_instance_of::<PyTuple>() {
             self.deserialize_tuple(obj.len()?, visitor)
+        } else if obj.is_instance_of::<PyUnicode>()? {
-        } else if obj.is_instance_of::<PyUnicode>() {
             self.deserialize_str(visitor)
         } else if let Ok(_) = obj.downcast::<PySequence>() {
             self.deserialize_tuple(obj.len()?, visitor)
@@ -247,7 +247,7 @@
         V: de::Visitor<'de>,
     {
         let item = self.input;
+        if item.is_instance_of::<PyDict>()? {
-        if item.is_instance_of::<PyDict>() {
             // Get the enum variant from the dict key
             let d: &PyDict = item.downcast().unwrap();
             if d.len() != 1 {
@@ -261,7 +261,7 @@
             let value = d.get_item(variant).unwrap();
             let mut de = Depythonizer::from_object(value);
             visitor.visit_enum(PyEnumAccess::new(&mut de, variant))
+        } else if item.is_instance_of::<PyString>()? {
-        } else if item.is_instance_of::<PyString>() {
             let s: &PyString = self.input.downcast()?;
             visitor.visit_enum(s.to_str()?.into_deserializer())
         } else {
--- b/src/lib.rs
+++ a/src/lib.rs
@@ -18,23 +18,23 @@
 //!     bar: Option<usize>
 //! }
 //!
+//! let gil = Python::acquire_gil();
+//! let py = gil.python();
-//! Python::with_gil(|py| {
-//!     let sample = Sample {
-//!         foo: "Foo".to_string(),
-//!         bar: None
-//!     };
 //!
+//! let sample = Sample {
+//!     foo: "Foo".to_string(),
+//!     bar: None
+//! };
-//!     // Rust -> Python
-//!     let obj = pythonize(py, &sample).unwrap();
 //!
+//! // Rust -> Python
+//! let obj = pythonize(py, &sample).unwrap();
-//!     assert_eq!("{'foo': 'Foo', 'bar': None}", &format!("{}", obj.as_ref(py).repr().unwrap()));
 //!
+//! assert_eq!("{'foo': 'Foo', 'bar': None}", &format!("{}", obj.as_ref(py).repr().unwrap()));
-//!     // Python -> Rust
-//!     let new_sample: Sample = depythonize(obj.as_ref(py)).unwrap();
 //!
+//! // Python -> Rust
+//! let new_sample: Sample = depythonize(obj.as_ref(py)).unwrap();
-//!     assert_eq!(new_sample, sample);
-//! });
 //!
+//! assert_eq!(new_sample, sample);
 //! ```
 mod de;
 mod error;
--- b/tests/test_custom_types.rs
+++ a/tests/test_custom_types.rs
@@ -66,7 +66,7 @@
         let serialized = pythonize_custom::<PythonizeCustomList, _>(py, &json!([1, 2, 3]))
             .unwrap()
             .into_ref(py);
+        assert!(serialized.is_instance_of::<CustomList>().unwrap());
-        assert!(serialized.is_instance_of::<CustomList>());
 
         let deserialized: Value = depythonize(serialized).unwrap();
         assert_eq!(deserialized, json!([1, 2, 3]));
@@ -131,7 +131,7 @@
             pythonize_custom::<PythonizeCustomDict, _>(py, &json!({ "hello": 1, "world": 2 }))
                 .unwrap()
                 .into_ref(py);
+        assert!(serialized.is_instance_of::<CustomDict>().unwrap());
-        assert!(serialized.is_instance_of::<CustomDict>());
 
         let deserialized: Value = depythonize(serialized).unwrap();
         assert_eq!(deserialized, json!({ "hello": 1, "world": 2 }));