diff options
| author | bendn <bend.n@outlook.com> | 2025-03-31 15:50:56 +0700 |
|---|---|---|
| committer | bendn <bend.n@outlook.com> | 2025-04-24 13:14:36 +0700 |
| commit | c8c074288a277df21a52aded322dfa25bc283f64 (patch) | |
| tree | 272448f60986d3f18b5269162658319dcaf70bc8 /compiler/rustc_mir_transform/src/errors.rs | |
| parent | c02a4f0852e6665cf3df3867982021383f5615df (diff) | |
| download | rust-c8c074288a277df21a52aded322dfa25bc283f64.tar.gz rust-c8c074288a277df21a52aded322dfa25bc283f64.zip | |
Suggest {to,from}_ne_bytes for transmutations between arrays and integers, etc
Diffstat (limited to 'compiler/rustc_mir_transform/src/errors.rs')
| -rw-r--r-- | compiler/rustc_mir_transform/src/errors.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/errors.rs b/compiler/rustc_mir_transform/src/errors.rs index 29698b0c2e4..5b03a4987ed 100644 --- a/compiler/rustc_mir_transform/src/errors.rs +++ b/compiler/rustc_mir_transform/src/errors.rs @@ -158,6 +158,26 @@ pub(crate) struct MustNotSuspendReason { pub reason: String, } +pub(crate) struct UnnecessaryTransmute { + pub span: Span, + pub sugg: String, + pub help: Option<&'static str>, +} + +// Needed for def_path_str +impl<'a> LintDiagnostic<'a, ()> for UnnecessaryTransmute { + fn decorate_lint<'b>(self, diag: &'b mut rustc_errors::Diag<'a, ()>) { + diag.primary_message(fluent::mir_transform_unnecessary_transmute); + diag.span_suggestion( + self.span, + "replace this with", + self.sugg, + lint::Applicability::MachineApplicable, + ); + self.help.map(|help| diag.help(help)); + } +} + #[derive(LintDiagnostic)] #[diag(mir_transform_undefined_transmute)] #[note] |
