|  | #![feature(rustc_attrs)] | 
|  | #![no_std] | 
|  | #![no_main] | 
|  |  | 
|  | extern crate alloc; | 
|  |  | 
|  | use alloc::alloc::{GlobalAlloc, Layout}; | 
|  |  | 
|  | #[panic_handler] | 
|  | fn panic_handler(_: &core::panic::PanicInfo) -> ! { | 
|  | loop {} | 
|  | } | 
|  |  | 
|  | #[no_mangle] | 
|  | extern "C" fn rust_eh_personality( | 
|  | _version: i32, | 
|  | _actions: i32, | 
|  | _exception_class: u64, | 
|  | _exception_object: *mut (), | 
|  | _context: *mut (), | 
|  | ) -> i32 { | 
|  | loop {} | 
|  | } | 
|  |  | 
|  | #[global_allocator] | 
|  | static ALLOC: Alloc = Alloc; | 
|  |  | 
|  | struct Alloc; | 
|  |  | 
|  | unsafe impl GlobalAlloc for Alloc { | 
|  | unsafe fn alloc(&self, _: Layout) -> *mut u8 { | 
|  | core::ptr::null_mut() | 
|  | } | 
|  | unsafe fn dealloc(&self, _: *mut u8, _: Layout) { | 
|  | todo!() | 
|  | } | 
|  | } | 
|  |  | 
|  | #[cfg(not(check_feature_gate))] | 
|  | #[rustc_std_internal_symbol] | 
|  | fn __rust_no_alloc_shim_is_unstable_v2() {} | 
|  |  | 
|  | #[no_mangle] | 
|  | extern "C" fn main(_argc: core::ffi::c_int, _argv: *const *const i8) -> i32 { | 
|  | unsafe { | 
|  | assert_eq!(alloc::alloc::alloc(Layout::new::<()>()), core::ptr::null_mut()); | 
|  | } | 
|  |  | 
|  | 0 | 
|  | } |