1
Fork 0

Migrate NonConstOp diagnostic

This commit is contained in:
Michael Goulet 2022-06-28 21:46:01 -07:00
parent 934079fd9e
commit 1c4afbd1de
3 changed files with 12 additions and 7 deletions

View file

@ -19,3 +19,10 @@ pub(crate) struct UnstableInStable {
)]
pub attr_span: Span,
}
#[derive(SessionDiagnostic)]
#[error(const_eval::thread_local_access, code = "E0625")]
pub(crate) struct NonConstOpErr {
#[primary_span]
pub span: Span,
}

View file

@ -20,6 +20,7 @@ use rustc_span::{BytePos, Pos, Span, Symbol};
use rustc_trait_selection::traits::SelectionContext;
use super::ConstCx;
use crate::errors::NonConstOpErr;
use crate::util::{call_kind, CallDesugaringKind, CallKind};
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
@ -760,13 +761,7 @@ impl<'tcx> NonConstOp<'tcx> for ThreadLocalAccess {
ccx: &ConstCx<'_, 'tcx>,
span: Span,
) -> DiagnosticBuilder<'tcx, ErrorGuaranteed> {
struct_span_err!(
ccx.tcx.sess,
span,
E0625,
"thread-local statics cannot be \
accessed at compile-time"
)
ccx.tcx.sess.create_err(NonConstOpErr { span })
}
}