| #![feature(lang_items, start)] |
| #![no_std] |
| |
| #[start] |
| fn start(_argc: isize, _argv: *const *const u8) -> isize { |
| 0 |
| } |
| |
| #[lang = "eh_personality"] |
| #[no_mangle] |
| pub extern "C" fn rust_eh_personality() {} |
| |
| #[panic_handler] |
| fn panic(_info: &core::panic::PanicInfo) -> ! { |
| unsafe { |
| libc::abort(); |
| } |
| } |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| |
| use serde::{Serialize, Deserialize}; |
| |
| #[derive(Serialize, Deserialize)] |
| struct Unit; |
| |
| #[derive(Serialize, Deserialize)] |
| struct Newtype(u8); |
| |
| #[derive(Serialize, Deserialize)] |
| struct Tuple(u8, u8); |
| |
| #[derive(Serialize, Deserialize)] |
| struct Struct { |
| f: u8, |
| } |
| |
| #[derive(Serialize, Deserialize)] |
| enum Enum { |
| Unit, |
| Newtype(u8), |
| Tuple(u8, u8), |
| Struct { f: u8 }, |
| } |