-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #66485 - JohnTitor:rollup-vbwhg6r, r=JohnTitor
Rollup of 11 pull requests Successful merges: - #65739 (Improve documentation of `Vec::split_off(...)`) - #66271 (syntax: Keep string literals in ABIs and `asm!` more precisely) - #66344 (rustc_plugin: Remove `Registry::register_attribute`) - #66381 (find_deprecation: deprecation attr may be ill-formed meta.) - #66395 (Centralize panic macro documentation) - #66456 (Move `DIAGNOSTICS` usage to `rustc_driver`) - #66465 (add missing 'static lifetime in docs) - #66466 (miri panic_unwind: fix hack for SEH platforms) - #66469 (Use "field is never read" instead of "field is never used") - #66471 (Add test for issue 63116) - #66477 (Clarify transmute_copy documentation example) Failed merges: r? @ghost
- Loading branch information
Showing
63 changed files
with
472 additions
and
461 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
Panics the current thread. | ||
|
||
This allows a program to terminate immediately and provide feedback | ||
to the caller of the program. `panic!` should be used when a program reaches | ||
an unrecoverable state. | ||
|
||
This macro is the perfect way to assert conditions in example code and in | ||
tests. `panic!` is closely tied with the `unwrap` method of both [`Option`] | ||
and [`Result`][runwrap] enums. Both implementations call `panic!` when they are set | ||
to None or Err variants. | ||
|
||
This macro is used to inject panic into a Rust thread, causing the thread to | ||
panic entirely. Each thread's panic can be reaped as the `Box<Any>` type, | ||
and the single-argument form of the `panic!` macro will be the value which | ||
is transmitted. | ||
|
||
[`Result`] enum is often a better solution for recovering from errors than | ||
using the `panic!` macro. This macro should be used to avoid proceeding using | ||
incorrect values, such as from external sources. Detailed information about | ||
error handling is found in the [book]. | ||
|
||
The multi-argument form of this macro panics with a string and has the | ||
[`format!`] syntax for building a string. | ||
|
||
See also the macro [`compile_error!`], for raising errors during compilation. | ||
|
||
[runwrap]: ../std/result/enum.Result.html#method.unwrap | ||
[`Option`]: ../std/option/enum.Option.html#method.unwrap | ||
[`Result`]: ../std/result/enum.Result.html | ||
[`format!`]: ../std/macro.format.html | ||
[`compile_error!`]: ../std/macro.compile_error.html | ||
[book]: ../book/ch09-00-error-handling.html | ||
|
||
# Current implementation | ||
|
||
If the main thread panics it will terminate all your threads and end your | ||
program with code `101`. | ||
|
||
# Examples | ||
|
||
```should_panic | ||
# #![allow(unreachable_code)] | ||
panic!(); | ||
panic!("this is a terrible mistake!"); | ||
panic!(4); // panic with the value of 4 to be collected elsewhere | ||
panic!("this is a {} {message}", "fancy", message = "message"); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.