Add better ICE messages for some undescriptive panics

This commit is contained in:
Ross Smyth 2023-12-14 23:31:36 -05:00
parent 03515c6a22
commit 663bea5a96
3 changed files with 11 additions and 4 deletions

View File

@ -9,6 +9,7 @@
use rustc_hir as hir;
use rustc_hir::def::{DefKind, PartialRes, Res};
use rustc_hir::GenericArg;
use rustc_middle::span_bug;
use rustc_span::symbol::{kw, sym, Ident};
use rustc_span::{BytePos, Span, DUMMY_SP};
@ -285,7 +286,9 @@ fn maybe_insert_elided_lifetimes_in_path(
let (start, end) = match self.resolver.get_lifetime_res(segment_id) {
Some(LifetimeRes::ElidedAnchor { start, end }) => (start, end),
None => return,
Some(_) => panic!(),
Some(res) => {
span_bug!(path_span, "expected an elided lifetime to insert. found {res:?}")
}
};
let expected_lifetimes = end.as_usize() - start.as_usize();
debug!(expected_lifetimes);

View File

@ -1597,7 +1597,9 @@ fn print_lifetime_bounds(&mut self, bounds: &ast::GenericBounds) {
}
match bound {
ast::GenericBound::Outlives(lt) => self.print_lifetime(*lt),
_ => panic!(),
_ => {
panic!("expected a lifetime bound, found a trait bound")
}
}
}
}

View File

@ -117,7 +117,7 @@ pub fn span_data_to_lines_and_cols(
self.time_stamp += 1;
// Check if lo and hi are in the cached lines.
let lo_cache_idx = self.cache_entry_index(span_data.lo);
let lo_cache_idx: isize = self.cache_entry_index(span_data.lo);
let hi_cache_idx = self.cache_entry_index(span_data.hi);
if lo_cache_idx != -1 && hi_cache_idx != -1 {
@ -205,7 +205,9 @@ pub fn span_data_to_lines_and_cols(
(lo_cache_idx as usize, oldest)
}
_ => {
panic!();
panic!(
"the case of neither value being equal to -1 was handled above and the function returns."
);
}
};