[][src]Struct darling_core::util::SpannedValue

pub struct SpannedValue<T> { /* fields omitted */ }

A value and an associated position in source code. The main use case for this is to preserve position information to emit warnings from proc macros. You can use a SpannedValue<T> as a field in any struct that implements or derives any of darling's core traits.

To access the underlying value, use the struct's Deref implementation.

Defaulting

This type is meant to be used in conjunction with attribute-extracted options, but the user may not always explicitly set those options in their source code. In this case, using Default::default() will create an instance which points to Span::call_site().

Methods

impl<T> SpannedValue<T>[src]

pub fn new(value: T, span: Span) -> Self[src]

pub fn span(&self) -> Span[src]

Get the source code location referenced by this struct.

Trait Implementations

impl<T: FromDeriveInput> FromDeriveInput for SpannedValue<T>[src]

impl<T: FromField> FromField for SpannedValue<T>[src]

impl<T: FromGenericParam> FromGenericParam for SpannedValue<T>[src]

impl<T: FromGenerics> FromGenerics for SpannedValue<T>[src]

impl<T: FromMeta> FromMeta for SpannedValue<T>[src]

fn from_nested_meta(item: &NestedMeta) -> Result<Self>[src]

fn from_word() -> Result<Self>[src]

Create an instance from the presence of the word in the attribute with no additional options specified. Read more

fn from_list(items: &[NestedMeta]) -> Result<Self>[src]

Create an instance from a list of nested meta items.

fn from_value(value: &Lit) -> Result<Self>[src]

Create an instance from a literal value of either foo = "bar" or foo("bar"). This dispatches to the appropriate method based on the type of literal encountered, and generally should not be overridden by implementers. Read more

fn from_char(value: char) -> Result<Self>[src]

Create an instance from a char literal in a value position.

fn from_string(value: &str) -> Result<Self>[src]

Create an instance from a string literal in a value position.

fn from_bool(value: bool) -> Result<Self>[src]

Create an instance from a bool literal in a value position.

impl<T: FromTypeParam> FromTypeParam for SpannedValue<T>[src]

impl<T: FromVariant> FromVariant for SpannedValue<T>[src]

impl<T: Default> Default for SpannedValue<T>[src]

impl<T: Clone> Clone for SpannedValue<T>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<T> AsRef<T> for SpannedValue<T>[src]

impl<T: Spanned> From<T> for SpannedValue<T>[src]

impl<T> DerefMut for SpannedValue<T>[src]

impl<T> Deref for SpannedValue<T>[src]

type Target = T

The resulting type after dereferencing.

impl<T: Debug> Debug for SpannedValue<T>[src]

Auto Trait Implementations

impl<T> !Sync for SpannedValue<T>

impl<T> Unpin for SpannedValue<T> where
    T: Unpin

impl<T> !Send for SpannedValue<T>

impl<T> UnwindSafe for SpannedValue<T> where
    T: UnwindSafe

impl<T> !RefUnwindSafe for SpannedValue<T>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]