27 lines
664 B
Rust
Raw Normal View History

// run-pass
#![allow(unused_mut)]
#![allow(unused_imports)]
#![feature(rustc_private)]
2020-07-04 16:20:24 +01:00
extern crate rustc_macros;
2020-06-02 22:46:42 +03:00
extern crate rustc_serialize;
2020-07-04 16:20:24 +01:00
use rustc_macros::{Decodable, Encodable};
2020-06-02 22:46:42 +03:00
use rustc_serialize::json;
2020-07-04 16:20:24 +01:00
use rustc_serialize::{Decodable, Encodable};
2020-07-04 16:20:24 +01:00
#[derive(Encodable, Decodable, PartialEq, Debug)]
struct UnitLikeStruct;
pub fn main() {
let obj = UnitLikeStruct;
2015-01-26 16:10:22 +01:00
let json_str: String = json::encode(&obj).unwrap();
let json_object = json::from_str(&json_str);
let mut decoder = json::Decoder::new(json_object.unwrap());
2022-01-18 13:22:50 +11:00
let mut decoded_obj: UnitLikeStruct = Decodable::decode(&mut decoder);
assert_eq!(obj, decoded_obj);
}