Skip to content

Commit 646d845

Browse files
committed
avoid nesting the user-defined main so deeply on the stack
1 parent b65beea commit 646d845

File tree

4 files changed

+9
-33
lines changed

4 files changed

+9
-33
lines changed

tests/fail/tail_calls/cc-mismatch.stderr

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,9 @@ LL | extern "rust-call" fn call_once(self, args: Args) -> Self::Output;
1515
= note: inside `std::panicking::r#try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>` at RUSTLIB/std/src/panicking.rs:LL:CC
1616
= note: inside `std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at RUSTLIB/std/src/panic.rs:LL:CC
1717
= note: inside closure at RUSTLIB/std/src/rt.rs:LL:CC
18-
= note: inside `std::panicking::r#try::do_call::<{closure@std::rt::lang_start_internal::{closure#0}::{closure#0}}, isize>` at RUSTLIB/std/src/panicking.rs:LL:CC
19-
= note: inside `std::panicking::r#try::<isize, {closure@std::rt::lang_start_internal::{closure#0}::{closure#0}}>` at RUSTLIB/std/src/panicking.rs:LL:CC
20-
= note: inside `std::panic::catch_unwind::<{closure@std::rt::lang_start_internal::{closure#0}::{closure#0}}, isize>` at RUSTLIB/std/src/panic.rs:LL:CC
21-
= note: inside closure at RUSTLIB/std/src/rt.rs:LL:CC
22-
= note: inside `std::panicking::r#try::do_call::<{closure@std::rt::lang_start_internal::{closure#0}}, std::result::Result<isize, !>>` at RUSTLIB/std/src/panicking.rs:LL:CC
23-
= note: inside `std::panicking::r#try::<std::result::Result<isize, !>, {closure@std::rt::lang_start_internal::{closure#0}}>` at RUSTLIB/std/src/panicking.rs:LL:CC
24-
= note: inside `std::panic::catch_unwind::<{closure@std::rt::lang_start_internal::{closure#0}}, std::result::Result<isize, !>>` at RUSTLIB/std/src/panic.rs:LL:CC
18+
= note: inside `std::panicking::r#try::do_call::<{closure@std::rt::lang_start_internal::{closure#0}}, isize>` at RUSTLIB/std/src/panicking.rs:LL:CC
19+
= note: inside `std::panicking::r#try::<isize, {closure@std::rt::lang_start_internal::{closure#0}}>` at RUSTLIB/std/src/panicking.rs:LL:CC
20+
= note: inside `std::panic::catch_unwind::<{closure@std::rt::lang_start_internal::{closure#0}}, isize>` at RUSTLIB/std/src/panic.rs:LL:CC
2521
= note: inside `std::rt::lang_start_internal` at RUSTLIB/std/src/rt.rs:LL:CC
2622
= note: inside `std::rt::lang_start::<()>` at RUSTLIB/std/src/rt.rs:LL:CC
2723

tests/pass/backtrace/backtrace-api-v1.stderr

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ RUSTLIB/core/src/ops/function.rs:LL:CC (std::ops::function::impls::call_once)
1010
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try::do_call)
1111
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try)
1212
RUSTLIB/std/src/panic.rs:LL:CC (std::panic::catch_unwind)
13-
RUSTLIB/std/src/rt.rs:LL:CC (std::rt::lang_start_internal::{closure#0}::{closure#0})
14-
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try::do_call)
15-
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try)
16-
RUSTLIB/std/src/panic.rs:LL:CC (std::panic::catch_unwind)
1713
RUSTLIB/std/src/rt.rs:LL:CC (std::rt::lang_start_internal::{closure#0})
1814
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try::do_call)
1915
RUSTLIB/std/src/panicking.rs:LL:CC (std::panicking::r#try)

tests/pass/backtrace/backtrace-global-alloc.stderr

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,15 @@
1414
at RUSTLIB/std/src/panicking.rs:LL:CC
1515
7: std::panic::catch_unwind
1616
at RUSTLIB/std/src/panic.rs:LL:CC
17-
8: std::rt::lang_start_internal::{closure#0}::{closure#0}
17+
8: std::rt::lang_start_internal::{closure#0}
1818
at RUSTLIB/std/src/rt.rs:LL:CC
1919
9: std::panicking::r#try::do_call
2020
at RUSTLIB/std/src/panicking.rs:LL:CC
2121
10: std::panicking::r#try
2222
at RUSTLIB/std/src/panicking.rs:LL:CC
2323
11: std::panic::catch_unwind
2424
at RUSTLIB/std/src/panic.rs:LL:CC
25-
12: std::rt::lang_start_internal::{closure#0}
25+
12: std::rt::lang_start_internal
2626
at RUSTLIB/std/src/rt.rs:LL:CC
27-
13: std::panicking::r#try::do_call
28-
at RUSTLIB/std/src/panicking.rs:LL:CC
29-
14: std::panicking::r#try
30-
at RUSTLIB/std/src/panicking.rs:LL:CC
31-
15: std::panic::catch_unwind
32-
at RUSTLIB/std/src/panic.rs:LL:CC
33-
16: std::rt::lang_start_internal
34-
at RUSTLIB/std/src/rt.rs:LL:CC
35-
17: std::rt::lang_start
27+
13: std::rt::lang_start
3628
at RUSTLIB/std/src/rt.rs:LL:CC

tests/pass/backtrace/backtrace-std.stderr

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,15 @@
2222
at RUSTLIB/std/src/panicking.rs:LL:CC
2323
11: std::panic::catch_unwind
2424
at RUSTLIB/std/src/panic.rs:LL:CC
25-
12: std::rt::lang_start_internal::{closure#0}::{closure#0}
25+
12: std::rt::lang_start_internal::{closure#0}
2626
at RUSTLIB/std/src/rt.rs:LL:CC
2727
13: std::panicking::r#try::do_call
2828
at RUSTLIB/std/src/panicking.rs:LL:CC
2929
14: std::panicking::r#try
3030
at RUSTLIB/std/src/panicking.rs:LL:CC
3131
15: std::panic::catch_unwind
3232
at RUSTLIB/std/src/panic.rs:LL:CC
33-
16: std::rt::lang_start_internal::{closure#0}
33+
16: std::rt::lang_start_internal
3434
at RUSTLIB/std/src/rt.rs:LL:CC
35-
17: std::panicking::r#try::do_call
36-
at RUSTLIB/std/src/panicking.rs:LL:CC
37-
18: std::panicking::r#try
38-
at RUSTLIB/std/src/panicking.rs:LL:CC
39-
19: std::panic::catch_unwind
40-
at RUSTLIB/std/src/panic.rs:LL:CC
41-
20: std::rt::lang_start_internal
42-
at RUSTLIB/std/src/rt.rs:LL:CC
43-
21: std::rt::lang_start
35+
17: std::rt::lang_start
4436
at RUSTLIB/std/src/rt.rs:LL:CC

0 commit comments

Comments
 (0)