Rust 未为我的结构实现获取序列化特征
我得到的错误是在t: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
将_序列化为(&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转换为引擎盖下的字符串