[−][src]Struct darling_core::util::SpannedValue
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]
fn from_derive_input(value: &DeriveInput) -> Result<Self>
[src]
impl<T: FromField> FromField for SpannedValue<T>
[src]
fn from_field(value: &Field) -> Result<Self>
[src]
impl<T: FromGenericParam> FromGenericParam for SpannedValue<T>
[src]
fn from_generic_param(value: &GenericParam) -> Result<Self>
[src]
impl<T: FromGenerics> FromGenerics for SpannedValue<T>
[src]
fn from_generics(value: &Generics) -> Result<Self>
[src]
impl<T: FromMeta> FromMeta for SpannedValue<T>
[src]
fn from_meta(value: &Meta) -> Result<Self>
[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]
fn from_type_param(value: &TypeParam) -> Result<Self>
[src]
impl<T: FromVariant> FromVariant for SpannedValue<T>
[src]
fn from_variant(value: &Variant) -> Result<Self>
[src]
impl<T: Default> Default for SpannedValue<T>
[src]
impl<T: Clone> Clone for SpannedValue<T>
[src]
fn clone(&self) -> 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]
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,
T: Unpin,
impl<T> !Send for SpannedValue<T>
impl<T> UnwindSafe for SpannedValue<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> !RefUnwindSafe for SpannedValue<T>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,