dav*_*ang 5 rust c++-chrono serde
extern crate serde;
extern crate serde_json;
#[macro_use]
extern crate serde_derive;
use chrono::{self, Date,DateTime, TimeZone};
use serde_derive::{Serialize,Deserialize}; // 1.0.91
#[derive(Serialize,Deserialize )]
struct Test<Tz>
where Tz:TimeZone,
{
t:DateTime<Tz>
}
fn main(){
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不会编译错误:
错误[E0277]:
chrono::datetime::DateTime<Tz>: serde::Serialize不满足特征边界--> src/main.rs:16:5
我有
chrono = {version="0.4",features = ["serde"]}
Run Code Online (Sandbox Code Playgroud)
在我的 Cargo.toml
我发现实现在这里:https : //docs.rs/chrono/0.4.6/chrono/struct.DateTime.html#impl-Serialize
但我不确定操场是否启用了 serde 功能。
抱歉,大家的问题正如 @crazysim 在评论中所说。
DateTime 没有实现反序列化特征。
如果我删除它,代码将起作用:
extern crate serde;
extern crate serde_json;
#[macro_use]
extern crate serde_derive;
use chrono::{self,DateTime, TimeZone};
#[derive(Serialize )]
struct Test<Tz>
where Tz:TimeZone,
{
t:DateTime<Tz>
}
fn main(){
}
Run Code Online (Sandbox Code Playgroud)