pub struct SourcedValue<T> {
pub value: T,
pub source: ConfigSource,
pub overrides: Vec<ConfigOverride<T>>,
}Fields§
§value: T§source: ConfigSource§overrides: Vec<ConfigOverride<T>>Implementations§
Source§impl<T: Clone> SourcedValue<T>
impl<T: Clone> SourcedValue<T>
pub fn new(value: T, source: ConfigSource) -> Self
Sourcepub fn merge_override(
&mut self,
new_value: T,
new_source: ConfigSource,
new_file: Option<String>,
new_line: Option<usize>,
)
pub fn merge_override( &mut self, new_value: T, new_source: ConfigSource, new_file: Option<String>, new_line: Option<usize>, )
Merges a new override into this SourcedValue based on source precedence. If the new source has higher or equal precedence, the value and source are updated, and the new override is added to the history.
pub fn push_override( &mut self, value: T, source: ConfigSource, file: Option<String>, line: Option<usize>, )
Source§impl<T: Clone + Eq + Hash> SourcedValue<Vec<T>>
impl<T: Clone + Eq + Hash> SourcedValue<Vec<T>>
Sourcepub fn merge_union(
&mut self,
new_value: Vec<T>,
new_source: ConfigSource,
new_file: Option<String>,
new_line: Option<usize>,
)
pub fn merge_union( &mut self, new_value: Vec<T>, new_source: ConfigSource, new_file: Option<String>, new_line: Option<usize>, )
Merges a new value using union semantics (for arrays like disable)
Values from both sources are combined, with deduplication
Trait Implementations§
Source§impl<T: Clone> Clone for SourcedValue<T>
impl<T: Clone> Clone for SourcedValue<T>
Source§fn clone(&self) -> SourcedValue<T>
fn clone(&self) -> SourcedValue<T>
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 moreAuto Trait Implementations§
impl<T> Freeze for SourcedValue<T>where
T: Freeze,
impl<T> RefUnwindSafe for SourcedValue<T>where
T: RefUnwindSafe,
impl<T> Send for SourcedValue<T>where
T: Send,
impl<T> Sync for SourcedValue<T>where
T: Sync,
impl<T> Unpin for SourcedValue<T>where
T: Unpin,
impl<T> UnwindSafe for SourcedValue<T>where
T: UnwindSafe,
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more