Skip to content

Commit df6c2ce

Browse files
authored
Merge pull request #7 from daboross/fix-broken-serde-private
Replace broken custom Deserialize impl with derive
2 parents ccf29dd + 65f6da4 commit df6c2ce

File tree

1 file changed

+2
-43
lines changed

1 file changed

+2
-43
lines changed

src/websocket/types/room/room_object_macros.rs

+2-43
Original file line numberDiff line numberDiff line change
@@ -49,53 +49,12 @@ pub(crate) mod vec_update {
4949
use super::Updatable;
5050

5151
/// Update structure for a Vec.
52-
#[derive(Debug, Clone)]
52+
#[derive(Debug, Clone, serde_derive::Deserialize)]
53+
#[serde(untagged)]
5354
pub(crate) enum VecUpdate<T> {
5455
Array(Vec<T>),
5556
PartialObj(VecPartialUpdate<T>),
5657
}
57-
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
58-
const _IMPL_DESERIALIZE_FOR_VecUpdate: () = {
59-
extern crate serde as _serde;
60-
impl<'de, T> _serde::Deserialize<'de> for VecUpdate<T>
61-
where
62-
T: _serde::Deserialize<'de>,
63-
{
64-
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error>
65-
where
66-
__D: _serde::Deserializer<'de>,
67-
{
68-
let err1;
69-
let err2;
70-
let __content =
71-
<_serde::private::de::Content as Deserialize>::deserialize(__deserializer)?;
72-
match Result::map(
73-
Vec::<T>::deserialize(
74-
_serde::private::de::ContentRefDeserializer::<__D::Error>::new(&__content),
75-
),
76-
VecUpdate::Array,
77-
) {
78-
Ok(value) => return Ok(value),
79-
Err(e) => err1 = e,
80-
}
81-
match Result::map(
82-
VecPartialUpdate::<T>::deserialize(
83-
_serde::private::de::ContentRefDeserializer::<__D::Error>::new(&__content),
84-
),
85-
VecUpdate::PartialObj,
86-
) {
87-
Ok(value) => return Ok(value),
88-
Err(e) => err2 = e,
89-
}
90-
_serde::export::Err(_serde::de::Error::custom(format!(
91-
"data did not match any variant of \
92-
untagged enum VecUpdate (error for \
93-
Array: {}, error for PartialObj: {})",
94-
err1, err2
95-
)))
96-
}
97-
}
98-
};
9958

10059
#[derive(Debug, Clone)]
10160
pub struct VecPartialUpdate<T>(Vec<(u32, T)>);

0 commit comments

Comments
 (0)