#![no_std] #![no_main] #![feature(default_alloc_error_handler)] // Include flatbuffers purely to check that it compiles in a no_std binary #[allow(unused_imports)] use flatbuffers; // The rest is just no_std boilerplate use core::alloc::{GlobalAlloc, Layout}; struct NullAllocator; unsafe impl GlobalAlloc for NullAllocator { unsafe fn alloc(&self, _lt: Layout) -> *mut u8 { core::ptr::null_mut() } unsafe fn dealloc(&self, _ptr: *mut u8, _lt: Layout) { panic!("won't deallocate: we never allocated!"); } } #[global_allocator] static A: NullAllocator = NullAllocator; #[panic_handler] fn panic(_info: &core::panic::PanicInfo) -> ! { loop {} } #[no_mangle] pub extern "C" fn main(_argc: i32, _argv: *const *const u8) -> i32 { 0 }