pub enum KeyLabelSetPolicy {
NoOverlap,
Containment,
}Expand description
Reserved policy for relationships between the key label sets of a closed graph type’s element types.
Currently inert. This value is persisted on GraphType but is not yet
consulted by any binding or validation path: closed-graph element binding
uses exact key-label-set equality, and the catalog DDL only produces
singleton key label sets (one label per type — see
selene-gql’s create_node_type lowering), so no two key label sets can
stand in an overlap/containment relationship. The variants reserve the two
ISO postures that become meaningful once future multi-label key label set
support lands.
Variants§
NoOverlap
Reserved: key label sets must be pairwise disjoint.
Containment
Reserved: key label sets may contain one another, enabling ISO/IEC 39075:2024 §4.13.2.7 key label set implication consistency — a type whose key label set is a subset of another type’s label set “implies” that super-type. The current default; activated when multi-label key label sets ship.
Trait Implementations§
Source§impl Clone for KeyLabelSetPolicy
impl Clone for KeyLabelSetPolicy
Source§fn clone(&self) -> KeyLabelSetPolicy
fn clone(&self) -> KeyLabelSetPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for KeyLabelSetPolicy
Source§impl Debug for KeyLabelSetPolicy
impl Debug for KeyLabelSetPolicy
Source§impl Default for KeyLabelSetPolicy
impl Default for KeyLabelSetPolicy
Source§fn default() -> KeyLabelSetPolicy
fn default() -> KeyLabelSetPolicy
Source§impl<'de> Deserialize<'de> for KeyLabelSetPolicy
impl<'de> Deserialize<'de> for KeyLabelSetPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for KeyLabelSetPolicy
Source§impl Hash for KeyLabelSetPolicy
impl Hash for KeyLabelSetPolicy
Source§impl PartialEq for KeyLabelSetPolicy
impl PartialEq for KeyLabelSetPolicy
Source§fn eq(&self, other: &KeyLabelSetPolicy) -> bool
fn eq(&self, other: &KeyLabelSetPolicy) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for KeyLabelSetPolicy
impl Serialize for KeyLabelSetPolicy
impl StructuralPartialEq for KeyLabelSetPolicy
Auto Trait Implementations§
impl Freeze for KeyLabelSetPolicy
impl RefUnwindSafe for KeyLabelSetPolicy
impl Send for KeyLabelSetPolicy
impl Sync for KeyLabelSetPolicy
impl Unpin for KeyLabelSetPolicy
impl UnsafeUnpin for KeyLabelSetPolicy
impl UnwindSafe for KeyLabelSetPolicy
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.