小编Rus*_*ear的帖子

如何在 Any 和 Send Traits 上实现 Sized、Serialize/Deserialize 函数?

在具有复杂数据类型(如Arc指针Mutex锁)的结构上实现序列化/反序列化和大小调整功能时遇到问题。首先,我使用本主题解决了这些ArcMutex序列化/反序列化问题:

如何在 Serde 中序列化或反序列化 Arc<T>?

但是现在,我被困在实现ser/desr和调整AnySend特征的大小上,我既没有想法也没有编译示例来解决这个问题。

代码在这里:

#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate serde_json;

use serde::Serialize;
use std::sync::Mutex;
use std::sync::Arc;
use std::any::Any;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Message {
    pub id: u64,
    pub data: Arc<Mutex<Any + Send>>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Data {
    pub name: String,
}

impl Data {
    fn new(name_parameter: String) -> Data {
        let …
Run Code Online (Sandbox Code Playgroud)

rust serde

6
推荐指数
1
解决办法
1018
查看次数

标签 统计

rust ×1

serde ×1