message: rustc_error: make ErrorReported impossible to construct
  There are a few places were we have to construct it, though, and a few
  places that are more invasive to change. To do this, we create a
  constructor with a long obvious name.
diff: //! Handling of `static`s, `const`s and promoted allocations
  use rustc_data_structures::fx::{FxHashMap, FxHashSet};
  -use rustc_errors::ErrorGuaranteed;
  use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags;
  use rustc_middle::mir::interpret::{
  read_target_uint, AllocId, ConstAllocation, ConstValue, ErrorHandled, GlobalAlloc, Scalar,
  @@ -54,7 +53,7 @@ pub(crate) fn check_constants(fx: &mut FunctionCx<'_, '_, '_>) -> bool {
  {
  all_constants_ok = false;
  match err {
  - ErrorHandled::Reported(ErrorGuaranteed) | ErrorHandled::Linted => {
  + ErrorHandled::Reported(_) | ErrorHandled::Linted => {
  fx.tcx.sess.span_err(constant.span, "erroneous constant encountered");
  }
  ErrorHandled::TooGeneric => {
  