我一直在尝试实现结构的反序列化和序列化特征。我只是沿着编译器告诉我的路线走下去,然后就陷入了困境。
我从这个结构开始:
#[derive(Serialize, Deserialize)]
struct FileMetadata {
file_path: PathBuf,
last_updated: SystemTime,
mime_type: MediaType,
}
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:expected named lifetime parameter, help: consider introducing a named lifetime parameter.
所以我这样做:
#[derive(Serialize, Deserialize)]
struct FileMetadata<'a> {
file_path: PathBuf,
last_updated: SystemTime,
mime_type: MediaType<'a>,
}
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误:requires that 'de must outlive'a , help: consider adding the following bound: 'de: 'a。
所以我就按照它说的去做:
#[derive(Serialize, Deserialize)]
struct FileMetadata<'a, 'de>
where
'de: 'a {
file_path: PathBuf,
last_updated: SystemTime,
mime_type: MediaType<'a>,
}
Run Code Online (Sandbox Code Playgroud)
现在我收到两个错误:
cannot deserialize when there is a …