pub mod iter;
pub mod r#trait;
use better_any::TidAble;
use sealed::sealed;
use crate::{generatable::Generatable, maybe_borrowed::MaybeBorrowed, wrapper::GenerationWrapper};
pub struct RawAssert<'a, T, A> {
pub template: MaybeBorrowed<'a, T>,
pub generics: Option<MaybeBorrowed<'a, syn::Generics>>,
pub assert: MaybeBorrowed<'a, A>,
}
#[sealed]
impl<'a, T, A> r#trait::RawAssertable<'a> for RawAssert<'a, T, A>
where
T: Eq + Ord + Generatable<'a, A>,
A: Eq + Ord + TidAble<'a>,
{
fn do_raw_assert<I>(self, store: &mut crate::store::Store<'a, I>)
where
I: crate::ident_generator::IdentGenerator,
{
store
.generatables
.get_or_insert_default::<GenerationWrapper<'a, T, A>>()
.add_assert(self);
}
}