We currently requiere every #![no_std] bin/staticlib/cdylib crate to designate a
#[panic_handler] function and to set
panic=abort or implement a lang_item. Wouldn't it make sense to lower this requirements to allow tragets not to specify
#[panic_handler] if the entire code is free of any panic invocations. A common use case could be code, where panicing would be fatal e.g. writing an OS kernel or an Rust version of the Unix
Not implementing a
#[panic_handler] vs. implementing a dummy handler has the advantage of ensuring that the "this code does never panic" assumption is correct and avoids defining extra symboles in you code.
This is similar to how one only needs to specify a global allocator if one uses allocation.