为何BitVec未实现Serialize trait?Rust布隆过滤器序列化报错
解决BitVec序列化失败的问题
你的问题根源在于bitvec的serde支持是可选特性(feature),默认不会启用。虽然文档标注了BitVec实现了Serialize/Deserialize,但这些实现只在开启对应feature后才会被编译进库中。
修复步骤
修改你的Cargo.toml,给bitvec依赖添加serde特性:
[dependencies] bitvec = { version = "1.0.1", features = ["serde"] } serde = { version = "1.0.196", features = ["derive"] }
验证
修改后重新编译,#[derive(Serialize, Deserialize)]就能正常为BloomFilter派生序列化/反序列化代码,因为此时BitVec的Serialize/Deserialize实现已被启用。
内容的提问来源于stack exchange,提问作者leonhma
相关产品推荐
相关产品推荐

