如何解决如何更改自定义类型的Serde行为
如何更改Serde与对象交互的方式?
我的目标是要拥有服务器观察值的结构:
pub trait Observable<T,O> {
fn get(&self) -> &T;
fn get_mut(&mut self) -> &mut T;
fn set(&mut self,new_value: T);
fn observe(&mut self,observer: O);
}
pub struct Observed<T> {
}
// impl Observed for Observable...
struct SomeStateStore {
pub pin_a_state: Observed<bool>,pub pin_b_state: Observed<bool>,pub pin_c_state: Observed<bool>,pub pin_d_state: Observed<bool>,pub some_other_state: Observed<i32>,}
目标是能够相互连接状态并在值发生更改时触发该行为,例如使用休息电话。
我的问题是我也想使用serde存储/加载此数据。有没有一种方法可以使Serde看到我对T
的暗示中的Observed<T>
?我之前曾对Serde进行过调查,但对我而言(仍然是生锈的铁罐),很难理解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。