Rust 未为我的结构实现获取序列化特征

Rust 未为我的结构实现获取序列化特征,rust,Rust,我得到的错误是在t:将_序列化为(&mut f,t).unwrap(): 特性绑定'T:models:::_serde::Serialize'不满足。 没有为'T`rustcE0277实现特性'models:::_serde::Serialize'。 lib.rs(1,1):此函数中的绑定所需。 rs(93,8):此绑定在`bincode::serialize_into`中是必需的。 RS(12, 19):考虑限制类型参数“t”。 但是我在结构上使用了#[派生(反序列化、调试、序列化)] us

我得到的错误是在t
将_序列化为(&mut f,t).unwrap()

特性绑定'T:models:::_serde::Serialize'不满足。
没有为'T`rustcE0277实现特性'models:::_serde::Serialize'。
lib.rs(1,1):此函数中的绑定所需。
rs(93,8):此绑定在`bincode::serialize_into`中是必需的。
RS(12, 19):考虑限制类型参数“t”。
但是我在结构上使用了
#[派生(反序列化、调试、序列化)]

use bincode::serialize_into;
use std::io::BufWriter;

#[derive(Deserialize, Debug, Serialize)]
#[serde(tag = "m_tag")]
pub struct Profile {
        energy: HashMap<&'static str, i32>,
        guid: u64,  
}

// in another file:
pub fn save_json(t:  &Profile) {
    let mut f = BufWriter::new(File::create("/tmp/foo.bar").unwrap());
    serialize_into(&mut f, t).unwrap();
}

使用bincode::将_序列化为;
使用std::io::BufWriter;
#[派生(反序列化、调试、序列化)]
#[serde(tag=“m_tag”)]
发布结构配置文件{

energy:HashMap检查这里的列表:。您可能缺少一些步骤。派生
反序列化
将不起作用,因为您无法反序列化
&的静态str
。好的。我认为这是因为您首先无法序列化str类型。因此,我将其更改为String。然后编译器不会要求生存期。我假设str类型为ge保存时,t转换为引擎盖下的字符串