From 9a8c25ae75d0f47e7db44c5fed3e9324c0e9487e Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Sat, 11 Aug 2018 14:52:00 +0200 Subject: [PATCH] Improve mini_core_hello_world.rs --- examples/mini_core.rs | 5 +++++ examples/mini_core_hello_world.rs | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/mini_core.rs b/examples/mini_core.rs index 2bcdd454dac..60c4a249eeb 100644 --- a/examples/mini_core.rs +++ b/examples/mini_core.rs @@ -140,6 +140,11 @@ pub fn panic(_expr_file_line_col: &(&'static str, &'static str, u32, u32)) -> ! loop {} } +#[lang = "eh_personality"] +fn eh_personality() -> ! { + loop {} +} + #[lang = "drop_in_place"] #[allow(unconditional_recursion)] pub unsafe fn drop_in_place(to_drop: *mut T) { diff --git a/examples/mini_core_hello_world.rs b/examples/mini_core_hello_world.rs index 5fc0cff08bd..c9d0a00f428 100644 --- a/examples/mini_core_hello_world.rs +++ b/examples/mini_core_hello_world.rs @@ -1,7 +1,8 @@ // Adapted from https://github.com/sunfishcode/mir2cranelift/blob/master/rust-examples/nocore-hello-world.rs -#![feature(no_core, unboxed_closures, start)] +#![feature(no_core, unboxed_closures, start, lang_items)] #![no_core] +#![no_main] #![allow(dead_code)] extern crate mini_core; @@ -15,11 +16,11 @@ extern "C" { fn puts(s: *const u8); } -#[start] -fn main(i: isize, _: *const *const u8) -> isize { +#[lang = "start"] +fn start(_main: *const u8, i: isize, _: *const *const u8) -> isize { unsafe { let (ptr, _): (*const u8, usize) = intrinsics::transmute("Hello!\0"); puts(ptr); } - 0 + 42 }