diff --git a/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs b/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs index 65da2c3f5c761..6c16ee2d8be14 100644 --- a/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs +++ b/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs @@ -1,22 +1,25 @@ //@ compile-flags: -Cstrip=none -Cdebuginfo=line-tables-only +use std::backtrace::Backtrace; #[no_mangle] -pub fn baz(mut cb: F, data: u32) where F: FnMut(u32) { - cb(data); +pub fn baz(cb: fn(u32) -> Backtrace, data: u32) -> Backtrace { + cb(data) } #[no_mangle] -pub fn bar(cb: F, data: u32) where F: FnMut(u32) { - baz(cb, data); +pub fn bar(cb: fn(u32) -> Backtrace, data: u32) -> Backtrace { + baz(cb, data) } #[no_mangle] -pub fn foo(cb: F, data: u32) where F: FnMut(u32) { - bar(cb, data); +pub fn foo(cb: fn(u32) -> Backtrace, data: u32) -> Backtrace { + bar(cb, data) +} + +fn helper(_x: u32) -> Backtrace { + Backtrace::capture() } pub fn capture_backtrace() -> std::backtrace::Backtrace { - let mut bt = None; - foo(|_| bt = Some(std::backtrace::Backtrace::capture()), 42); - bt.unwrap() + foo(helper, 42) } diff --git a/tests/ui/debuginfo/backtrace-line-tables-only.rs b/tests/ui/debuginfo/backtrace-line-tables-only.rs index f9127014ad065..227b36bf45368 100644 --- a/tests/ui/debuginfo/backtrace-line-tables-only.rs +++ b/tests/ui/debuginfo/backtrace-line-tables-only.rs @@ -38,7 +38,7 @@ fn assert_contains( fn main() { std::env::set_var("RUST_BACKTRACE", "1"); let backtrace = line_tables_only_helper::capture_backtrace(); - assert_contains(&backtrace, "foo", "line-tables-only-helper.rs", 5); - assert_contains(&backtrace, "bar", "line-tables-only-helper.rs", 10); - assert_contains(&backtrace, "baz", "line-tables-only-helper.rs", 15); + assert_contains(&backtrace, "foo", "line-tables-only-helper.rs", 6); + assert_contains(&backtrace, "bar", "line-tables-only-helper.rs", 11); + assert_contains(&backtrace, "baz", "line-tables-only-helper.rs", 16); }