pub struct RelationPolicy {
pub flags: u16,
pub strict_subtype_checking: bool,
pub strict_any_propagation: bool,
pub any_propagation_mode: AnyPropagationMode,
}Expand description
Policy knobs for relation checks.
Fields§
§flags: u16Packed relation flags (same layout as RelationCacheKey.flags).
strict_subtype_checking: boolEnables additional strictness in the compatibility layer.
strict_any_propagation: boolDisables any-suppression in compatibility fast paths.
any_propagation_mode: AnyPropagationModeControls how SubtypeChecker treats any.
Implementations§
Source§impl RelationPolicy
impl RelationPolicy
pub const fn from_flags(flags: u16) -> Self
pub const fn with_strict_subtype_checking(self, strict: bool) -> Self
pub const fn with_strict_any_propagation(self, strict: bool) -> Self
pub const fn with_any_propagation_mode(self, mode: AnyPropagationMode) -> Self
Trait Implementations§
Source§impl Clone for RelationPolicy
impl Clone for RelationPolicy
Source§fn clone(&self) -> RelationPolicy
fn clone(&self) -> RelationPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelationPolicy
impl Debug for RelationPolicy
Source§impl Default for RelationPolicy
impl Default for RelationPolicy
Source§impl PartialEq for RelationPolicy
impl PartialEq for RelationPolicy
impl Copy for RelationPolicy
impl Eq for RelationPolicy
impl StructuralPartialEq for RelationPolicy
Auto Trait Implementations§
impl Freeze for RelationPolicy
impl RefUnwindSafe for RelationPolicy
impl Send for RelationPolicy
impl Sync for RelationPolicy
impl Unpin for RelationPolicy
impl UnsafeUnpin for RelationPolicy
impl UnwindSafe for RelationPolicy
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.