struct LayeredValue {
leaf: ChoiceLeaf,
choice_ty: Type,
boxed: bool,
}Expand description
The innermost value of a layered choice parameter.
Fields§
§leaf: ChoiceLeaf§choice_ty: TypeThe decoded type: the MatchArg type of a scalar, the element type
of a several_ok container, the string type of a choices value
(lifetimes erased).
boxed: boolA Box<[T]> container, converted from the decoded Vec<T>.
Implementations§
Source§impl LayeredValue
impl LayeredValue
fn new(value: &Type, leaf: ChoiceLeaf) -> Self
Sourcefn apply(&self, layers: &[ChoiceLayer<'_>], sexp: &TokenStream) -> TokenStream
fn apply(&self, layers: &[ChoiceLayer<'_>], sexp: &TokenStream) -> TokenStream
layers over this value, decoding the argument sexp: the outermost
layer’s helper called on sexp with the decoder of the rest.
Sourcefn decoder(&self, layers: &[ChoiceLayer<'_>]) -> TokenStream
fn decoder(&self, layers: &[ChoiceLayer<'_>]) -> TokenStream
layers over this value as a decoder (FnOnce(SEXP) -> Result<_, _>):
a function path where one exists, a closure otherwise.
Auto Trait Implementations§
impl !Send for LayeredValue
impl !Sync for LayeredValue
impl Freeze for LayeredValue
impl RefUnwindSafe for LayeredValue
impl Unpin for LayeredValue
impl UnsafeUnpin for LayeredValue
impl UnwindSafe for LayeredValue
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> 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: 360 bytes