proc_macro_assertions/raw_assert/
trait.rs

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