mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
f20738dfb9
This test is supposed to ensure that full backtraces are used for ICEs. But it doesn't actually do that -- the filtering done cannot distinguish between a full backtrace versus a short backtrace. So this commit changes the filtering to preserve the existence of `__rust_{begin,end}_short_backtrace` markers, which only appear in full backtraces. This change means the test now tests what it is supposed to test. Also, the existing filtering included a rule that excluded any line starting with two spaces. This was too strong because it filtered out some parts of the error message. (This was not a showstopper). It was also not strong enough because it didn't work with three digit stack frame numbers, which just started seeing after upgrading my Ubuntu distro to 23.04 machine (this *was* a showstopper). So the commit replaces that rule with two more precise rules, one for lines with stack frame numbers, and one for "at ..." lines.
23 lines
435 B
Plaintext
23 lines
435 B
Plaintext
error[E0425]: cannot find value `missing_ident` in this scope
|
|
--> $DIR/default-backtrace-ice.rs:21:13
|
|
|
|
|
LL | fn main() { missing_ident; }
|
|
| ^^^^^^^^^^^^^ not found in this scope
|
|
|
|
|
|
stack backtrace:
|
|
(end_short_backtrace)
|
|
(begin_short_backtrace)
|
|
|
|
error: the compiler unexpectedly panicked. this is a bug.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query stack during panic:
|
|
#0 [resolver_for_lowering] getting the resolver for lowering
|
|
end of query stack
|