[][src]Struct syn::Path

pub struct Path {
    pub leading_colon: Option<Colon2>,
    pub segments: Punctuated<PathSegment, Colon2>,
}

A path at which a named item is exported: std::collections::HashMap.

This type is available if Syn is built with the "derive" or "full" feature.

Fields

Methods

impl Path
[src]

Parse a Path containing no path arguments on any of its segments.

This function is available if Syn is built with the "parsing" feature.

Example

#[macro_use]
extern crate syn;

use syn::{Path, Result};
use syn::parse::{Parse, ParseStream};

// A simplified single `use` statement like:
//
//     use std::collections::HashMap;
//
// Note that generic parameters are not allowed in a `use` statement
// so the following must not be accepted.
//
//     use a::<b>::c;
struct SingleUse {
    use_token: Token![use],
    path: Path,
}

impl Parse for SingleUse {
    fn parse(input: ParseStream) -> Result<Self> {
        Ok(SingleUse {
            use_token: input.parse()?,
            path: input.call(Path::parse_mod_style)?,
        })
    }
}

Determines whether this is a path of length 1 equal to the given ident.

For them to compare equal, it must be the case that:

  • the path has no leading colon,
  • the number of path segments is 1,
  • the first path segment has no angle bracketed or parenthesized path arguments
  • and the ident of the first path segment is equal to the given one.

Trait Implementations

impl Parse for Path
[src]

impl Clone for Path
[src]

Performs copy-assignment from source. Read more

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

impl Eq for Path
[src]

impl PartialEq<Path> for Path
[src]

impl Debug for Path
[src]

impl Hash for Path
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl ToTokens for Path
[src]

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations

impl !Send for Path

impl !Sync for Path

Blanket Implementations

impl<T> Spanned for T where
    T: ToTokens
[src]

impl<T> From for T
[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

impl<E> SpecializationError for E
[src]

impl<T> Erased for T
[src]

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

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

impl<T> Erased for T