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> Clone for SpannedValue<T> where
T: Clone,
impl<T> Clone for SpannedValue<T> where
T: Clone,
sourcepub fn clone(&self) -> SpannedValue<T>
pub 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,
sourcepub fn default() -> SpannedValue<T>
pub 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,
sourcepub fn from(value: T) -> SpannedValue<T>
pub fn from(value: T) -> SpannedValue<T>
Performs the conversion.
sourceimpl<T> FromDeriveInput for SpannedValue<T> where
T: FromDeriveInput,
impl<T> FromDeriveInput for SpannedValue<T> where
T: FromDeriveInput,
sourcepub fn from_derive_input(value: &DeriveInput) -> Result<SpannedValue<T>, Error>
pub 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,
pub 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,
pub 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,
pub 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,
sourcepub fn from_meta(value: &Meta) -> Result<SpannedValue<T>, Error>
pub 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_none() -> Option<Self>
fn from_none() -> Option<Self>
When a field is omitted from a parent meta-item, from_none
is used to attempt
recovery before a missing field error is generated. Read more
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,
pub 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,
sourcepub fn from_variant(value: &Variant) -> Result<SpannedValue<T>, Error>
pub fn from_variant(value: &Variant) -> Result<SpannedValue<T>, Error>
Create an instance from syn::Variant
, or return an error.
sourceimpl<T> Spanned for SpannedValue<T>
impl<T> Spanned for SpannedValue<T>
sourcepub fn span(&self) -> Span
pub fn span(&self) -> Span
Returns a Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty. Read more
impl<T> Copy for SpannedValue<T> where
T: Copy,
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 · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more