From 1be2f42791d9fa2b755faacd76348888945f4f61 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 4 Jan 2017 16:13:27 +0100 Subject: [PATCH 1/2] Make panic_fmt public to fix private_no_mangle_fns warning --- src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index d7f8ccb8..07e14fab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -90,7 +90,7 @@ extern "C" fn eh_personality() {} #[cfg(not(test))] #[lang = "panic_fmt"] #[no_mangle] -extern "C" fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, line: u32) -> ! { +pub extern "C" fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, line: u32) -> ! { println!("\n\nPANIC in {} at line {}:", file, line); println!(" {}", fmt); loop {} From 64cbabd1c26cfa50e4af3c20a34371972c4a1b88 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 4 Jan 2017 16:15:59 +0100 Subject: [PATCH 2/2] make panic_fmt public in posts --- blog/post/03-set-up-rust.md | 2 +- blog/post/05-allocating-frames.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/blog/post/03-set-up-rust.md b/blog/post/03-set-up-rust.md index 3f7b078a..e383d685 100644 --- a/blog/post/03-set-up-rust.md +++ b/blog/post/03-set-up-rust.md @@ -57,7 +57,7 @@ Now we place our root source file in `src/lib.rs`: pub extern fn rust_main() {} #[lang = "eh_personality"] extern fn eh_personality() {} -#[lang = "panic_fmt"] #[no_mangle] extern fn panic_fmt() -> ! {loop{}} +#[lang = "panic_fmt"] #[no_mangle] pub extern fn panic_fmt() -> ! {loop{}} ``` Let's break it down: diff --git a/blog/post/05-allocating-frames.md b/blog/post/05-allocating-frames.md index f6de3ad9..ed2958d3 100644 --- a/blog/post/05-allocating-frames.md +++ b/blog/post/05-allocating-frames.md @@ -104,7 +104,7 @@ We used `expect` in the code above, which will panic if there is no memory map t ```rust #[lang = "panic_fmt"] #[no_mangle] -extern fn panic_fmt() -> ! { +pub extern fn panic_fmt() -> ! { println!("PANIC"); loop{} } @@ -114,7 +114,7 @@ Now we get a `PANIC` message. But we can do even better. The `panic_fmt` functio ```rust #[lang = "panic_fmt"] #[no_mangle] -extern fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, +pub extern fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, line: u32) -> ! { println!("\n\nPANIC in {} at line {}:", file, line);