1
Fork 0

Document difference between core and std's PanicInfo.

This commit is contained in:
Mara Bos 2023-09-26 14:40:36 +02:00
parent e3e815370e
commit a519dc85f8
2 changed files with 18 additions and 2 deletions

View file

@ -4,6 +4,15 @@ use crate::panic::Location;
/// A struct providing information about a panic. /// A struct providing information about a panic.
/// ///
/// A `PanicInfo` structure is passed to the panic handler defined by `#[panic_handler]`. /// A `PanicInfo` structure is passed to the panic handler defined by `#[panic_handler]`.
///
/// There two `PanicInfo` types:
/// - `core::panic::PanicInfo`, which is used as an argument to a `#[panic_handler]` in `#![no_std]` programs.
/// - [`std::panic::PanicInfo`], which is used as an argument to a panic hook set by [`std::panic::set_hook`].
///
/// This is the first one.
///
/// [`std::panic::set_hook`]: ../../std/panic/fn.set_hook.html
/// [`std::panic::PanicInfo`]: ../../std/panic/struct.PanicInfo.html
#[lang = "panic_info"] #[lang = "panic_info"]
#[stable(feature = "panic_hooks", since = "1.10.0")] #[stable(feature = "panic_hooks", since = "1.10.0")]
#[derive(Debug)] #[derive(Debug)]

View file

@ -12,11 +12,16 @@ use crate::thread::Result;
/// A struct providing information about a panic. /// A struct providing information about a panic.
/// ///
/// `PanicInfo` structure is passed to a panic hook set by the [`set_hook`] /// `PanicInfo` structure is passed to a panic hook set by the [`set_hook`] function.
/// function.
/// ///
/// [`set_hook`]: ../../std/panic/fn.set_hook.html /// [`set_hook`]: ../../std/panic/fn.set_hook.html
/// ///
/// There two `PanicInfo` types:
/// - [`core::panic::PanicInfo`], which is used as an argument to a `#[panic_handler]` in `#![no_std]` programs.
/// - `std::panic::PanicInfo`, which is used as an argument to a panic hook set by [`std::panic::set_hook`].
///
/// This is the second one.
///
/// # Examples /// # Examples
/// ///
/// ```should_panic /// ```should_panic
@ -28,6 +33,8 @@ use crate::thread::Result;
/// ///
/// panic!("critical system failure"); /// panic!("critical system failure");
/// ``` /// ```
///
/// [`core::panic::PanicInfo`]: ../../core/panic/struct.PanicInfo.html
#[stable(feature = "panic_hooks", since = "1.10.0")] #[stable(feature = "panic_hooks", since = "1.10.0")]
#[derive(Debug)] #[derive(Debug)]
pub struct PanicInfo<'a> { pub struct PanicInfo<'a> {