mod breaking;
mod complexity;
mod visibility;
pub use breaking::BreakingChangeChecker;
pub use complexity::ComplexityChecker;
pub use visibility::VisibilityChecker;
use crate::validator::Violation;
use smelt_core::{IntentRecord, SemanticDelta};
pub trait ValidationRule: Send + Sync {
fn name(&self) -> &'static str;
fn validate(&self, delta: &SemanticDelta, intent: Option<&IntentRecord>) -> Vec<Violation>;
}