Struct marker_api::ast::BindingArg

source ·
#[repr(C)]
pub struct BindingArg<'ast> { /* private fields */ }
Expand description

A generic bound in form <identifier=type>. For example, Item=i32 would be the generic binding here:

let _baz: &dyn Iterator<Item=i32> = todo!();
//                      ^^^^^^^^

The corresponding instance would provide the name (Item), the defined type (i32) and potentially the Span if this bound originates from source code.

See paths in expressions for more information.

Implementations§

source§

impl<'ast> BindingArg<'ast>

source

pub fn ident(&self) -> &str

The name of the identifier used in the binding. For example:

let _baz: &dyn Iterator<Item=i32> = todo!();
//                      ^^^^

Would return Item as the identifier.

source

pub fn ty(&self) -> TyKind<'ast>

The type that the identifier is set to. For example:

let _baz: &dyn Iterator<Item=i32> = todo!();
//                           ^^^

Would return i32 as the type.

source

pub fn span(&self) -> &Span<'ast>

The Span of the binding.

Trait Implementations§

source§

impl<'ast> Debug for BindingArg<'ast>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'ast> RefUnwindSafe for BindingArg<'ast>

§

impl<'ast> !Send for BindingArg<'ast>

§

impl<'ast> !Sync for BindingArg<'ast>

§

impl<'ast> Unpin for BindingArg<'ast>

§

impl<'ast> UnwindSafe for BindingArg<'ast>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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.