From 0413d51317a2470c94f82d93e66a3d009fce41a3 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 12 Jun 2021 17:39:46 +0300 Subject: internal: move missing unsafe diagnostic to hir --- crates/hir_ty/src/diagnostics.rs | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) (limited to 'crates/hir_ty/src/diagnostics.rs') diff --git a/crates/hir_ty/src/diagnostics.rs b/crates/hir_ty/src/diagnostics.rs index 28d6ca567..12131d9bc 100644 --- a/crates/hir_ty/src/diagnostics.rs +++ b/crates/hir_ty/src/diagnostics.rs @@ -17,7 +17,10 @@ use crate::{ diagnostics_sink::{Diagnostic, DiagnosticCode, DiagnosticSink}, }; -pub use crate::diagnostics::expr::{record_literal_missing_fields, record_pattern_missing_fields}; +pub use crate::diagnostics::{ + expr::{record_literal_missing_fields, record_pattern_missing_fields}, + unsafe_check::missing_unsafe, +}; pub fn validate_module_item( db: &dyn HirDatabase, @@ -35,8 +38,6 @@ pub fn validate_body(db: &dyn HirDatabase, owner: DefWithBodyId, sink: &mut Diag let infer = db.infer(owner); let mut validator = expr::ExprValidator::new(owner, infer.clone(), sink); validator.validate_body(db); - let mut validator = unsafe_check::UnsafeValidator::new(owner, infer, sink); - validator.validate_body(db); } // Diagnostic: missing-structure-fields @@ -219,30 +220,6 @@ impl Diagnostic for RemoveThisSemicolon { } } -// Diagnostic: missing-unsafe -// -// This diagnostic is triggered if an operation marked as `unsafe` is used outside of an `unsafe` function or block. -#[derive(Debug)] -pub struct MissingUnsafe { - pub file: HirFileId, - pub expr: AstPtr, -} - -impl Diagnostic for MissingUnsafe { - fn code(&self) -> DiagnosticCode { - DiagnosticCode("missing-unsafe") - } - fn message(&self) -> String { - format!("This operation is unsafe and requires an unsafe function or block") - } - fn display_source(&self) -> InFile { - InFile { file_id: self.file, value: self.expr.clone().into() } - } - fn as_any(&self) -> &(dyn Any + Send + 'static) { - self - } -} - // Diagnostic: mismatched-arg-count // // This diagnostic is triggered if a function is invoked with an incorrect amount of arguments. -- cgit v1.2.3