gpt4 book ai didi

rust - 特征 `Encodable` 是私有(private)的

转载 作者:行者123 更新时间:2023-11-29 07:53:20 25 4
gpt4 key购买 nike

我在制作通用 InMemoryColumn<T> 时遇到问题可序列化。它提示“可编码”和“可解码”特征是私有(private)的,但我看到它是公开的here .我怎样才能实现这些特征,以便我可以编码和解码底层 Vec<T> .

这是带有导入的代码:

extern crate bincode;
extern crate libc;
extern crate "rustc-serialize" as rustc_serialize;

use rustc_serialize::serialize::{Encodable,Decodable};
//import other libs

pub struct InMemoryColumn<T> {
name: String,
data: Vec<T>,
}

impl<T: Eq + Ord + Hash + Encodable + Decodable> InMemoryColumn<T> {
fn save(&self, tbl_name: &str) {
//encode self.data and write to disk
}

fn load(path: &str, name: &str) -> Result<InMemoryColumn<T>,String> {
//decode from disk and populate InMemoryColumn<T>
}
}

最佳答案

EncodableDecodable 特征仅相对于serialize 模块是公开的。 That module is private though .正如您在 mod.rs file 中看到的那样, EncodableDecodable 直接在 rustc_serialize 包中重新导出。因此,您可以使用 EncodableDecodable 特性,如下所示:

use rustc_serialize::{Encodable,Decodable};

关于rust - 特征 `Encodable` 是私有(private)的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29121993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com