diff options
| author | Ralf Jung <post@ralfj.de> | 2023-09-26 16:25:05 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2023-10-15 18:13:33 +0200 |
| commit | e24835c6e000da747b8a96ce77974783f4a9ce11 (patch) | |
| tree | c732116156a4463be79137f549673b49b538d6cc /compiler/rustc_const_eval/src/errors.rs | |
| parent | cbf47a17d251fc4d64b9512124d7ac10a99c310b (diff) | |
| download | rust-e24835c6e000da747b8a96ce77974783f4a9ce11.tar.gz rust-e24835c6e000da747b8a96ce77974783f4a9ce11.zip | |
more precise error for 'based on misaligned pointer' case
Diffstat (limited to 'compiler/rustc_const_eval/src/errors.rs')
| -rw-r--r-- | compiler/rustc_const_eval/src/errors.rs | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/compiler/rustc_const_eval/src/errors.rs b/compiler/rustc_const_eval/src/errors.rs index 6214ce0f511..cc8f3387238 100644 --- a/compiler/rustc_const_eval/src/errors.rs +++ b/compiler/rustc_const_eval/src/errors.rs @@ -390,15 +390,6 @@ pub struct LiveDrop<'tcx> { pub dropped_at: Option<Span>, } -#[derive(LintDiagnostic)] -#[diag(const_eval_align_check_failed)] -pub struct AlignmentCheckFailed { - pub has: u64, - pub required: u64, - #[subdiagnostic] - pub frames: Vec<FrameNote>, -} - #[derive(Diagnostic)] #[diag(const_eval_error, code = "E0080")] pub struct ConstEvalError { @@ -568,9 +559,10 @@ impl<'a> ReportErrorExt for UndefinedBehaviorInfo<'a> { builder.set_arg("bad_pointer_message", bad_pointer_message(msg, handler)); } - AlignmentCheckFailed(Misalignment { required, has }) => { + AlignmentCheckFailed(Misalignment { required, has }, msg) => { builder.set_arg("required", required.bytes()); builder.set_arg("has", has.bytes()); + builder.set_arg("msg", format!("{msg:?}")); } WriteToReadOnly(alloc) | DerefFunctionPointer(alloc) | DerefVTablePointer(alloc) => { builder.set_arg("allocation", alloc); |
