Don't ICE on layout computation failure
This commit is contained in:
parent
17b7f1e198
commit
642fae9409
@ -7,6 +7,7 @@
|
|||||||
BaseTypeMethods,
|
BaseTypeMethods,
|
||||||
MiscMethods,
|
MiscMethods,
|
||||||
};
|
};
|
||||||
|
use rustc_codegen_ssa::errors as ssa_errors;
|
||||||
use rustc_data_structures::base_n;
|
use rustc_data_structures::base_n;
|
||||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||||
use rustc_middle::span_bug;
|
use rustc_middle::span_bug;
|
||||||
@ -479,7 +480,7 @@ fn handle_layout_err(&self, err: LayoutError<'tcx>, span: Span, ty: Ty<'tcx>) ->
|
|||||||
if let LayoutError::SizeOverflow(_) | LayoutError::ReferencesError(_) = err {
|
if let LayoutError::SizeOverflow(_) | LayoutError::ReferencesError(_) = err {
|
||||||
self.sess().emit_fatal(respan(span, err.into_diagnostic()))
|
self.sess().emit_fatal(respan(span, err.into_diagnostic()))
|
||||||
} else {
|
} else {
|
||||||
span_bug!(span, "failed to get layout for `{}`: {}", ty, err)
|
self.tcx.sess.emit_fatal(ssa_errors::FailedToGetLayout { span, ty, err })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user