//! Shared optimistic-concurrency conflict predicate.
//!
//! Moved out of `saga.rs` so both [`SagaError`](crate::SagaError) and
//! `ExecuteError` delegate to the same
//! [`StoreError::is_conflict`](crate::StoreError::is_conflict) — one truth,
//! two callers.
use crateStoreError;
/// Predicate over a repository error: is this an optimistic-concurrency
/// conflict (and therefore retryable by reloading + re-deciding)?
///
/// Sealed: implemented inside this crate for [`StoreError`] only. Lets error
/// wrappers delegate without naming a concrete store error — `Snapshotting`'s
/// `Repository::Error` is the inner `StoreError`, so one impl serves bare and
/// snapshotted repositories alike.