pub enum ChoiceLeaf {
MatchArg,
MatchArgSeveral,
Literal {
choices: Vec<String>,
several: bool,
},
}Expand description
Where the innermost value of a layered choice parameter comes from.
Variants§
MatchArg
A scalar match_arg type (T: MatchArg), decoded with
match_arg_from_sexp::<T>.
MatchArgSeveral
A match_arg + several_ok container (Vec<T> / Box<[T]>),
decoded with match_arg_vec_from_sexp::<T>: under Missing<..>, or
on the left of an Either<.., R> (#1612).
Literal
The string type of a choices(...) parameter, decoded with its own
TryFromSexp (the R prelude already matched it against the list).
Trait Implementations§
Source§impl Clone for ChoiceLeaf
impl Clone for ChoiceLeaf
Source§impl Debug for ChoiceLeaf
impl Debug for ChoiceLeaf
Source§impl Eq for ChoiceLeaf
impl Eq for ChoiceLeaf
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)1.0.0 (const: unstable) · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
Source§impl PartialEq for ChoiceLeaf
impl PartialEq for ChoiceLeaf
impl StructuralPartialEq for ChoiceLeaf
Auto Trait Implementations§
impl Freeze for ChoiceLeaf
impl RefUnwindSafe for ChoiceLeaf
impl Send for ChoiceLeaf
impl Sync for ChoiceLeaf
impl Unpin for ChoiceLeaf
impl UnsafeUnpin for ChoiceLeaf
impl UnwindSafe for ChoiceLeaf
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
MatchArg: 0 bytesMatchArgSeveral: 0 bytesLiteral: 32 bytes