pub struct EnumVariant { /* private fields */ }Expand description
An enum variant value.
A variant enum is the name of the enum variant and the type of the enum from which that variant can be looked up.
This type is cheaply cloneable.
Implementations§
Trait Implementations§
Source§impl Clone for EnumVariant
impl Clone for EnumVariant
Source§fn clone(&self) -> EnumVariant
fn clone(&self) -> EnumVariant
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 EnumVariant
impl Debug for EnumVariant
Source§impl Display for EnumVariant
Displays the variant name when an enum is used in string interpolation.
impl Display for EnumVariant
Displays the variant name when an enum is used in string interpolation.
§Design Decision
When an enum variant is interpolated in a WDL string (e.g., "~{Color.Red}"
where Red = "#FF0000"), this implementation displays the variant name
("Red") rather than the underlying value ("#FF0000").
This design choice treats enum variants as named identifiers, providing
stable, human-readable output that doesn’t depend on the underlying value
representation. To access the underlying value explicitly, use the value()
standard library function.
§Example
enum Color {
Red = "#FF0000",
Green = "#00FF00"
}
String name = "~{Color.Red}" # Produces "Red"
String hex_value = value(Color.Red) # Produces "#FF0000"Source§impl PartialEq for EnumVariant
impl PartialEq for EnumVariant
Auto Trait Implementations§
impl Freeze for EnumVariant
impl RefUnwindSafe for EnumVariant
impl Send for EnumVariant
impl Sync for EnumVariant
impl Unpin for EnumVariant
impl UnsafeUnpin for EnumVariant
impl UnwindSafe for EnumVariant
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.