pub enum OptionValue {
On,
Off,
Unknown,
}Expand description
Tri-state value for a parser-visible zsh option.
Unknown is used when the parser cannot prove a single value, for example
after merging control-flow paths that set an option differently. Consumers
should only branch on OptionValue::On or OptionValue::Off when the
corresponding is_definitely_* helper returns true.
Variants§
On
The option is enabled.
Off
The option is disabled.
Unknown
The option value is unknown or differs across merged states.
Implementations§
Source§impl OptionValue
impl OptionValue
Sourcepub const fn is_definitely_on(self) -> bool
pub const fn is_definitely_on(self) -> bool
Returns true when the option is known to be enabled.
Sourcepub const fn is_definitely_off(self) -> bool
pub const fn is_definitely_off(self) -> bool
Returns true when the option is known to be disabled.
Sourcepub const fn merge(self, other: Self) -> Self
pub const fn merge(self, other: Self) -> Self
Merge two option values, preserving certainty only when they agree.
This is intended for conservative flow joins: On + On remains On,
Off + Off remains Off, and every mixed or unknown combination
becomes OptionValue::Unknown.
Trait Implementations§
Source§impl Clone for OptionValue
impl Clone for OptionValue
Source§fn clone(&self) -> OptionValue
fn clone(&self) -> OptionValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 OptionValue
impl Debug for OptionValue
Source§impl Default for OptionValue
impl Default for OptionValue
Source§fn default() -> OptionValue
fn default() -> OptionValue
Returns the “default value” for a type. Read more
Source§impl Hash for OptionValue
impl Hash for OptionValue
Source§impl PartialEq for OptionValue
impl PartialEq for OptionValue
Source§fn eq(&self, other: &OptionValue) -> bool
fn eq(&self, other: &OptionValue) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for OptionValue
impl Eq for OptionValue
impl StructuralPartialEq for OptionValue
Auto Trait Implementations§
impl Freeze for OptionValue
impl RefUnwindSafe for OptionValue
impl Send for OptionValue
impl Sync for OptionValue
impl Unpin for OptionValue
impl UnsafeUnpin for OptionValue
impl UnwindSafe for OptionValue
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