Attribute

Enum Attribute 

Source
pub enum Attribute<'a> {
    Codama(CodamaAttribute<'a>),
    Derive(DeriveAttribute<'a>),
    Repr(ReprAttribute<'a>),
    Unsupported(UnsupportedAttribute<'a>),
}

Variants§

§

Codama(CodamaAttribute<'a>)

§

Derive(DeriveAttribute<'a>)

§

Repr(ReprAttribute<'a>)

§

Unsupported(UnsupportedAttribute<'a>)

Implementations§

Source§

impl<'a> Attribute<'a>

Source

pub fn parse(ast: &'a Attribute, ctx: &AttributeContext<'_>) -> Result<Self>

Source

pub fn parse_from( ast: &'a Attribute, effective: &Attribute, ctx: &AttributeContext<'_>, ) -> Result<Self>

Parse an attribute using the effective attribute for content extraction. ast is stored as the original attribute reference (for error spans). effective is used to determine the attribute type and parse its content.

Source

pub fn ast(&self) -> &Attribute

Source

pub fn name(&self) -> String

Trait Implementations§

Source§

impl<'a> Debug for Attribute<'a>

Source§

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

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

impl<'a> From<CodamaAttribute<'a>> for Attribute<'a>

Source§

fn from(value: CodamaAttribute<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<DeriveAttribute<'a>> for Attribute<'a>

Source§

fn from(value: DeriveAttribute<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<ReprAttribute<'a>> for Attribute<'a>

Source§

fn from(value: ReprAttribute<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<UnsupportedAttribute<'a>> for Attribute<'a>

Source§

fn from(value: UnsupportedAttribute<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq for Attribute<'a>

Source§

fn eq(&self, other: &Attribute<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a AccountDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a ArgumentDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a CodamaAttribute<'a>

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a DefaultValueDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a DeriveAttribute<'a>

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a DiscriminatorDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a EncodingDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a EnumDiscriminatorDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a ErrorDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a FieldDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a FixedSizeDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a NameDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a PdaDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a ReprAttribute<'a>

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a SeedDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a SizePrefixDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a TypeDirective

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<&'a Attribute<'a>> for &'a UnsupportedAttribute<'a>

Source§

type Error = CodamaError

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

fn try_from(attribute: &'a Attribute<'_>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> StructuralPartialEq for Attribute<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Attribute<'a>

§

impl<'a> RefUnwindSafe for Attribute<'a>

§

impl<'a> !Send for Attribute<'a>

§

impl<'a> !Sync for Attribute<'a>

§

impl<'a> Unpin for Attribute<'a>

§

impl<'a> UnwindSafe for Attribute<'a>

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> 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, 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<'a, T, U> TryFromFilter<'a, U> for T
where T: 'a, &'a T: TryFrom<U>,

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.