pub trait FactStore<'a>: ReadOnlyFactStore<'a> {
// Required methods
fn add<'src>(
&'a self,
src: &'src Arena,
fact: &'src Atom<'src>,
) -> Result<bool>;
fn merge<'src, S>(&'a self, src: &'src Arena, store: &'src S)
where S: ReadOnlyFactStore<'src>;
}Expand description
A fact store that can be mutated. Implementations must make use of interior mutability.
Required Methods§
Sourcefn add<'src>(&'a self, src: &'src Arena, fact: &'src Atom<'src>) -> Result<bool>
fn add<'src>(&'a self, src: &'src Arena, fact: &'src Atom<'src>) -> Result<bool>
Returns true if fact did not exist before. The fact is copied.
Sourcefn merge<'src, S>(&'a self, src: &'src Arena, store: &'src S)where
S: ReadOnlyFactStore<'src>,
fn merge<'src, S>(&'a self, src: &'src Arena, store: &'src S)where
S: ReadOnlyFactStore<'src>,
Adds all facts from given store.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.