use sealed::sealed;
use crate::{ident_generator::IdentGenerator, store::Store};
/// Any type that is assertable by accessing the [`Store`](crate::prelude::Store) directly.
///
/// This is currently sealed to allow change in the actual store implementation, but may opened up
/// eventually.
///
/// For custom Asserts you should either implement [`Assertable`](crate::assertable::Assertable) for wrapper types, or
/// [`Generatable`](crate::generatable::Generatable) for new types of asserts.
#[sealed(pub(crate))]
pub trait RawAssertable<'a> {
fn do_raw_assert<I>(self, store: &mut Store<'a, I>)
where
I: IdentGenerator;
}