pub enum Compatibility {
Identical,
Superset,
DestructiveSuperset,
Subset,
Divergent,
}Expand description
Result of comparing two ontologies for sync compatibility.
Variants§
Identical
Same resolved ontology (identical hash).
Superset
Local contains everything remote has, plus more, and nothing the remote already holds stops validating. Safe to merge.
DestructiveSuperset
Local is a superset on the declarations, but the extra facts include a requirement the remote’s data was never held to. Adopting this ontology would quarantine entries the remote considers valid.
This is reported instead of Superset so a consumer that gates an
automatic migration on "superset" falls through to its refuse branch
rather than migrating into data loss.
Subset
Remote has types/properties local doesn’t have yet. ExtendOntology entries in the sync payload will resolve the gap.
Divergent
Neither is a superset. Incompatible fork, cannot be resolved by additive evolution alone.
Trait Implementations§
Source§impl Clone for Compatibility
impl Clone for Compatibility
Source§fn clone(&self) -> Compatibility
fn clone(&self) -> Compatibility
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more