make writes_through_immutable_pointer a hard error
This commit is contained in:
@@ -22,6 +22,7 @@ pub enum ConstEvalErrKind {
|
||||
RecursiveStatic,
|
||||
AssertFailure(AssertKind<ConstInt>),
|
||||
Panic { msg: Symbol, line: u32, col: u32, file: Symbol },
|
||||
WriteThroughImmutablePointer,
|
||||
}
|
||||
|
||||
impl MachineStopType for ConstEvalErrKind {
|
||||
@@ -35,12 +36,16 @@ impl MachineStopType for ConstEvalErrKind {
|
||||
Panic { .. } => const_eval_panic,
|
||||
RecursiveStatic => const_eval_recursive_static,
|
||||
AssertFailure(x) => x.diagnostic_message(),
|
||||
WriteThroughImmutablePointer => const_eval_write_through_immutable_pointer,
|
||||
}
|
||||
}
|
||||
fn add_args(self: Box<Self>, adder: &mut dyn FnMut(DiagArgName, DiagArgValue)) {
|
||||
use ConstEvalErrKind::*;
|
||||
match *self {
|
||||
RecursiveStatic | ConstAccessesMutGlobal | ModifiedGlobal => {}
|
||||
RecursiveStatic
|
||||
| ConstAccessesMutGlobal
|
||||
| ModifiedGlobal
|
||||
| WriteThroughImmutablePointer => {}
|
||||
AssertFailure(kind) => kind.add_args(adder),
|
||||
Panic { msg, line, col, file } => {
|
||||
adder("msg".into(), msg.into_diag_arg());
|
||||
@@ -159,6 +164,7 @@ where
|
||||
|
||||
/// Emit a lint from a const-eval situation, with a backtrace.
|
||||
// Even if this is unused, please don't remove it -- chances are we will need to emit a lint during const-eval again in the future!
|
||||
#[allow(unused)]
|
||||
pub(super) fn lint<'tcx, L>(
|
||||
tcx: TyCtxtAt<'tcx>,
|
||||
machine: &CompileTimeMachine<'tcx>,
|
||||
|
||||
Reference in New Issue
Block a user