Struct rustc_hir::hir::PathSegment[−][src]

pub struct PathSegment<'hir> {
    pub ident: Ident,
    pub hir_id: Option<HirId>,
    pub res: Option<Res>,
    pub args: Option<&'hir GenericArgs<'hir>>,
    pub infer_args: bool,
}
Expand description

A segment of a path: an identifier, an optional lifetime, and a set of types.

Fields

ident: Ident
Expand description

The identifier portion of this path segment.

hir_id: Option<HirId>res: Option<Res>args: Option<&'hir GenericArgs<'hir>>
Expand description

Type/lifetime parameters attached to this path. They come in two flavors: Path<A,B,C> and Path(A,B) -> C. Note that this is more than just simple syntactic sugar; the use of parens affects the region binding rules, so we preserve the distinction.

infer_args: bool
Expand description

Whether to infer remaining type parameters, if any. This only applies to expression and pattern paths, and out of those only the segments with no type parameters to begin with, e.g., Vec::new is <Vec<..>>::new::<..>.

Implementations

impl<'hir> PathSegment<'hir>[src]

pub fn from_ident(ident: Ident) -> PathSegment<'hir>[src]

Converts an identifier to the corresponding segment.

pub fn invalid() -> Self[src]

pub fn args(&self) -> &GenericArgs<'hir>[src]

Trait Implementations

impl<'hir> Debug for PathSegment<'hir>[src]

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

Formats the value using the given formatter. Read more

impl<'hir, __CTX> HashStable<__CTX> for PathSegment<'hir> where
    __CTX: HashStableContext, 
[src]

fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)[src]

Auto Trait Implementations

impl<'hir> RefUnwindSafe for PathSegment<'hir>

impl<'hir> !Send for PathSegment<'hir>

impl<'hir> !Sync for PathSegment<'hir>

impl<'hir> Unpin for PathSegment<'hir>

impl<'hir> UnwindSafe for PathSegment<'hir>

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.