mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Clarify arbitrary constants
First, we reuse the `MAX_FRAMES` constant. Co-authored-by: erikdesjardins <erikdesjardins@users.noreply.github.com> Then we choose an arbitrary recursion depth for the other case. In this case, I used 2d20. Honest.
This commit is contained in:
parent
1e65b5b741
commit
3dee9775a8
@ -87,14 +87,15 @@ extern "C" fn print_stack_trace(_: libc::c_int) {
|
||||
raw_errln!("");
|
||||
written += rem.len() + 1;
|
||||
|
||||
if cyclic || stack.len() == 256 {
|
||||
let random_depth = || 8 * 16; // chosen by random diceroll (2d20)
|
||||
if cyclic || stack.len() > random_depth() {
|
||||
// technically speculation, but assert it with confidence anyway.
|
||||
// rustc only arrived in this signal handler because bad things happened
|
||||
// and this message is for explaining it's not the programmer's fault
|
||||
raw_errln!("note: rustc unexpectedly overflowed its stack! this is a bug");
|
||||
written += 1;
|
||||
}
|
||||
if stack.len() == 256 {
|
||||
if stack.len() == MAX_FRAMES {
|
||||
raw_errln!("note: maximum backtrace depth reached, frames may have been lost");
|
||||
written += 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user