CodegenSettings

Struct CodegenSettings 

Source
pub struct CodegenSettings {
    pub optionable_crate_name: Path,
    pub ty_prefix: Option<Path>,
    pub input_crate_replacement: Option<Ident>,
}
Expand description

Settings that are only available to be set via the rust function signature of derive_optionable but not via the derive macro (as they are not useful in that context and would lead to an increased but not useful API surface of the derive macro helpers).

Fields§

§optionable_crate_name: Path

Name of the optionable crate to use for the generated code including potentially leading ::. Useful to set when generating code for the optionable crate itself where one needs to refer to it as crate.

§ty_prefix: Option<Path>

Path prefix to prepend to the respective type. E.g. with a ty_prefix of ::mycrate the output would be (simplified) impl Optionable for ::mycrate::mytype.

§input_crate_replacement: Option<Ident>

Replacement for the keyword crate in the input type/enum definition or references. Useful when generating code for the optionable crate as pre-existing crate references need to be replaced with the concret crate name.

Trait Implementations§

Source§

impl Clone for CodegenSettings

Source§

fn clone(&self) -> CodegenSettings

Returns a duplicate 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 CodegenSettings

Source§

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

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

impl Default for CodegenSettings

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl FromDeriveInput for CodegenSettings

Source§

fn from_derive_input(__di: &DeriveInput) -> Result<Self>

Create an instance from syn::DeriveInput, or return an error.

Auto Trait Implementations§

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
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.