1 #![allow(internal_features)]
2 #![feature(lang_items, start)]
3 #![no_std]
4 
5 #[start]
startnull6 fn start(_argc: isize, _argv: *const *const u8) -> isize {
7     0
8 }
9 
10 #[lang = "eh_personality"]
11 #[no_mangle]
rust_eh_personalitynull12 pub extern "C" fn rust_eh_personality() {}
13 
14 #[panic_handler]
panicnull15 fn panic(_info: &core::panic::PanicInfo) -> ! {
16     unsafe {
17         libc::abort();
18     }
19 }
20 
21 //////////////////////////////////////////////////////////////////////////////
22 
23 use serde_derive::{Deserialize, Serialize};
24 
25 #[derive(Serialize, Deserialize)]
26 struct Unit;
27 
28 #[derive(Serialize, Deserialize)]
29 struct Newtype(u8);
30 
31 #[derive(Serialize, Deserialize)]
32 struct Tuple(u8, u8);
33 
34 #[derive(Serialize, Deserialize)]
35 struct Struct {
36     f: u8,
37 }
38 
39 #[derive(Serialize, Deserialize)]
40 enum Enum {
41     Unit,
42     Newtype(u8),
43     Tuple(u8, u8),
44     Struct { f: u8 },
45 }
46