Struct darling::util::SpannedValue
source · [−]pub struct SpannedValue<T> { /* private fields */ }
Expand description
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()
.
Implementations
sourceimpl<T> SpannedValue<T>
impl<T> SpannedValue<T>
Trait Implementations
sourceimpl<T> AsRef<T> for SpannedValue<T>
impl<T> AsRef<T> for SpannedValue<T>
sourceimpl<T> Clone for SpannedValue<T> where
T: Clone,
impl<T> Clone for SpannedValue<T> where
T: Clone,
sourcefn clone(&self) -> SpannedValue<T>
fn clone(&self) -> SpannedValue<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T> Debug for SpannedValue<T> where
T: Debug,
impl<T> Debug for SpannedValue<T> where
T: Debug,
sourceimpl<T> Default for SpannedValue<T> where
T: Default,
impl<T> Default for SpannedValue<T> where
T: Default,
sourcefn default() -> SpannedValue<T>
fn default() -> SpannedValue<T>
Returns the “default value” for a type. Read more
sourceimpl<T> Deref for SpannedValue<T>
impl<T> Deref for SpannedValue<T>
sourceimpl<T> DerefMut for SpannedValue<T>
impl<T> DerefMut for SpannedValue<T>
sourceimpl<T> From<T> for SpannedValue<T> where
T: Spanned,
impl<T> From<T> for SpannedValue<T> where
T: Spanned,
sourcefn from(value: T) -> SpannedValue<T>
fn from(value: T) -> SpannedValue<T>
Converts to this type from the input type.
sourceimpl<T> FromDeriveInput for SpannedValue<T> where
T: FromDeriveInput,
impl<T> FromDeriveInput for SpannedValue<T> where
T: FromDeriveInput,
sourcefn from_derive_input(value: &DeriveInput) -> Result<SpannedValue<T>, Error>
fn from_derive_input(value: &DeriveInput) -> Result<SpannedValue<T>, Error>
Create an instance from syn::DeriveInput
, or return an error.
sourceimpl<T> FromField for SpannedValue<T> where
T: FromField,
impl<T> FromField for SpannedValue<T> where
T: FromField,
fn from_field(value: &Field) -> Result<SpannedValue<T>, Error>
sourceimpl<T> FromGenericParam for SpannedValue<T> where
T: FromGenericParam,
impl<T> FromGenericParam for SpannedValue<T> where
T: FromGenericParam,
fn from_generic_param(value: &GenericParam) -> Result<SpannedValue<T>, Error>
sourceimpl<T> FromGenerics for SpannedValue<T> where
T: FromGenerics,
impl<T> FromGenerics for SpannedValue<T> where
T: FromGenerics,
fn from_generics(value: &Generics) -> Result<SpannedValue<T>, Error>
sourceimpl<T> FromMeta for SpannedValue<T> where
T: FromMeta,
impl<T> FromMeta for SpannedValue<T> where
T: FromMeta,
sourcefn from_meta(value: &Meta) -> Result<SpannedValue<T>, Error>
fn from_meta(value: &Meta) -> Result<SpannedValue<T>, Error>
Create an instance from a syn::Meta
by dispatching to the format-appropriate
trait function. This generally should not be overridden by implementers. Read more
fn from_nested_meta(item: &NestedMeta) -> Result<Self, Error>
sourcefn from_word() -> Result<Self, Error>
fn from_word() -> Result<Self, Error>
Create an instance from the presence of the word in the attribute with no additional options specified. Read more
sourcefn from_list(items: &[NestedMeta]) -> Result<Self, Error>
fn from_list(items: &[NestedMeta]) -> Result<Self, Error>
Create an instance from a list of nested meta items.
sourcefn from_value(value: &Lit) -> Result<Self, Error>
fn from_value(value: &Lit) -> Result<Self, Error>
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
sourcefn from_char(value: char) -> Result<Self, Error>
fn from_char(value: char) -> Result<Self, Error>
Create an instance from a char literal in a value position.
sourcefn from_string(value: &str) -> Result<Self, Error>
fn from_string(value: &str) -> Result<Self, Error>
Create an instance from a string literal in a value position.
sourceimpl<T> FromTypeParam for SpannedValue<T> where
T: FromTypeParam,
impl<T> FromTypeParam for SpannedValue<T> where
T: FromTypeParam,
fn from_type_param(value: &TypeParam) -> Result<SpannedValue<T>, Error>
sourceimpl<T> FromVariant for SpannedValue<T> where
T: FromVariant,
impl<T> FromVariant for SpannedValue<T> where
T: FromVariant,
sourcefn from_variant(value: &Variant) -> Result<SpannedValue<T>, Error>
fn from_variant(value: &Variant) -> Result<SpannedValue<T>, Error>
Create an instance from syn::Variant
, or return an error.
Auto Trait Implementations
impl<T> RefUnwindSafe for SpannedValue<T> where
T: RefUnwindSafe,
impl<T> !Send for SpannedValue<T>
impl<T> !Sync for SpannedValue<T>
impl<T> Unpin for SpannedValue<T> where
T: Unpin,
impl<T> UnwindSafe for SpannedValue<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more