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(){
}
上面的代码不会编译为错误:
错误[E0277]: trait绑定Chrono::datetime::DateTime
我有
chrono = {version="0.4",features = ["serde"]}
在我Cargo.toml
我发现实现在这里:https://docs.rs/chrono/0.4.6/chrono/struct.DateTime.html#impl-Serialize
完整的代码示例在这里https://play.rust-lang.org/?version=stable
但我不确定操场是否启用了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(){
}