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".