[−][src]Struct syn::Path
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
leading_colon: Option<Colon2>
segments: Punctuated<PathSegment, Colon2>
Methods
impl Path
[src][−]
pub fn parse_mod_style(input: ParseStream) -> Result<Self>
[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
ⓘThis code runs with edition 2018
use syn::{Path, Result, Token}; 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)?, }) } }
pub fn is_ident<I>(&self, ident: I) -> bool where
Ident: PartialEq<I>,
[src][−]
Ident: PartialEq<I>,
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.
This function is available if Syn is built with the "parsing"
feature.
Trait Implementations
impl Clone for Path
[src][+]
impl<T> From<T> for Path where
T: Into<PathSegment>,
[src][+]
T: Into<PathSegment>,
impl Parse for Path
[src][+]
impl ToTokens for Path
[src][+]
Auto Trait Implementations
impl !RefUnwindSafe for Path
impl !Send for Path
impl !Sync for Path
impl Unpin for Path
impl UnwindSafe for Path
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Spanned for T where
T: ToTokens,
[src][+]
T: ToTokens,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,