//! Provides a way to attach fixes to the diagnostics. //! The same module also has all curret custom fixes for the diagnostics implemented. mod change_case; mod create_field; mod fill_missing_fields; mod remove_semicolon; mod replace_with_find_map; mod unresolved_module; mod wrap_tail_expr; use hir::{diagnostics::Diagnostic, Semantics}; use ide_assists::AssistResolveStrategy; use ide_db::RootDatabase; use crate::Assist; /// A [Diagnostic] that potentially has some fixes available. /// /// [Diagnostic]: hir::diagnostics::Diagnostic pub(crate) trait DiagnosticWithFixes: Diagnostic { /// `resolve` determines if the diagnostic should fill in the `edit` field /// of the assist. /// /// If `resolve` is false, the edit will be computed later, on demand, and /// can be omitted. fn fixes( &self, sema: &Semantics, _resolve: &AssistResolveStrategy, ) -> Option>; }