Enum figment::Source [−][src]
#[non_exhaustive] pub enum Source { File(PathBuf), Code(&'static Location<'static>), Custom(String), }
Expand description
The source for a configuration value.
The Source
of a given value can be determined via that value’s
Metadata.source
retrievable via the value’s
Tag
(via Value::tag()
or via the magic value Tagged
) and
Figment::get_metadata()
.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
File(PathBuf)
A file: the path to the file.
Code(&'static Location<'static>)
Some programatic value: the source location.
Custom(String)
A custom source all-together.
Implementations
Returns the path to the source file if self.kind
is Kind::File
.
Example
use std::path::Path; use figment::Source; let source = Source::from(Path::new("a/b/c.txt")); assert_eq!(source.file_path(), Some(Path::new("a/b/c.txt")));
Returns the location to the source code if self
is Source::Code
.
Example
use std::panic::Location; use figment::Source; let location = Location::caller(); let source = Source::Code(location); assert_eq!(source.code_location(), Some(location));
Trait Implementations
Displays the source. Location and custom sources are displayed directly. File paths are displayed relative to the current working directory if the relative path is shorter than the complete path.
Auto Trait Implementations
impl RefUnwindSafe for Source
impl UnwindSafe for Source
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V