1 #![allow(internal_features)]
2 #![feature(lang_items, start)]
3 #![no_std]
4
5 #[start]
start(_argc: isize, _argv: *const *const u8) -> isize6 fn start(_argc: isize, _argv: *const *const u8) -> isize {
7 0
8 }
9
10 #[lang = "eh_personality"]
11 #[no_mangle]
rust_eh_personality()12 pub extern "C" fn rust_eh_personality() {}
13
14 #[panic_handler]
panic(_info: &core::panic::PanicInfo) -> !15 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