darling_core::options::core

Struct Core

source
pub struct Core {
    pub ident: Ident,
    pub generics: Generics,
    pub default: Option<DefaultExpression>,
    pub rename_rule: RenameRule,
    pub post_transform: Option<PostfixTransform>,
    pub data: Data<InputVariant, InputField>,
    pub bound: Option<Vec<WherePredicate>>,
    pub allow_unknown_fields: Option<bool>,
}
Expand description

A struct or enum which should have FromMeta or FromDeriveInput implementations generated.

Fields§

§ident: Ident

The type identifier.

§generics: Generics

The type’s generics. If the type does not use any generics, this will be an empty instance.

§default: Option<DefaultExpression>

Controls whether missing properties should cause errors or should be filled by the result of a function call. This can be overridden at the field level.

§rename_rule: RenameRule

The rule that should be used to rename all fields/variants in the container.

§post_transform: Option<PostfixTransform>

A transform which will be called on darling::Result<Self>. It must either be an FnOnce(T) -> T when map is used, or FnOnce(T) -> darling::Result<T> when and_then is used.

map and and_then are mutually-exclusive to avoid confusion about the order in which the two are applied.

§data: Data<InputVariant, InputField>

The body of the deriving type.

§bound: Option<Vec<WherePredicate>>

The custom bound to apply to the generated impl

§allow_unknown_fields: Option<bool>

Whether or not unknown fields should produce an error at compilation time.

Implementations§

source§

impl Core

source

pub fn start(di: &DeriveInput) -> Result<Self>

Partially initializes Core by reading the identity, generics, and body shape.

source

fn as_codegen_default(&self) -> Option<DefaultExpression<'_>>

Trait Implementations§

source§

impl Clone for Core

source§

fn clone(&self) -> Core

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Core

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> From<&'a Core> for TraitImpl<'a>

source§

fn from(v: &'a Core) -> Self

Converts to this type from the input type.
source§

impl ParseAttribute for Core

source§

fn parse_nested(&mut self, mi: &Meta) -> Result<()>

Read a meta-item, and apply its values to the current instance.
source§

fn parse_attributes(self, attrs: &[Attribute]) -> Result<Self>

source§

impl ParseData for Core

source§

fn parse_variant(&mut self, variant: &Variant) -> Result<()>

Apply the next found variant to the object, returning an error if parsing goes wrong.
source§

fn parse_field(&mut self, field: &Field) -> Result<()>

Apply the next found struct field to the object, returning an error if parsing goes wrong.
source§

fn validate_body(&self, errors: &mut Accumulator)

Perform validation checks that require data from more than one field or variant. The default implementation does no validations. Implementors can override this method as appropriate for their use-case.
source§

fn parse_body(self, body: &Data) -> Result<Self>

Auto Trait Implementations§

§

impl Freeze for Core

§

impl RefUnwindSafe for Core

§

impl !Send for Core

§

impl !Sync for Core

§

impl Unpin for Core

§

impl UnwindSafe for Core

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.