| #![feature(start, core_intrinsics, alloc_prelude, alloc_error_handler)] |
| extern crate alloc_system; |
| use alloc::prelude::v1::*; |
| use alloc_system::System; |
| static ALLOC: System = System; |
| #[cfg_attr(unix, link(name = "c"))] |
| #[cfg_attr(target_env = "msvc", link(name = "msvcrt"))] |
| fn puts(s: *const u8) -> i32; |
| fn panic_handler(_: &core::panic::PanicInfo) -> ! { |
| core::intrinsics::abort(); |
| fn alloc_error_handler(_: alloc::alloc::Layout) -> ! { |
| core::intrinsics::abort(); |
| fn main(_argc: isize, _argv: *const *const u8) -> isize { |
| let world: Box<&str> = box "Hello World!\0"; |
| puts(*world as *const str as *const u8); |