fn workspace_violations( cache: Option<&Session>, rules: &[&'static Rule], workspace_ctx: &WorkspaceCtx<'_>, ) -> Vec<Violation>