[−][src]Struct syn::LitStr
A UTF-8 string literal: "foo".
This type is available if Syn is built with the "derive" or
"full" feature.
Methods
impl LitStr[src]
pub fn new(value: &str, span: Span) -> Self[src]
pub fn value(&self) -> String[src]
pub fn parse<T: Parse>(&self) -> Result<T>[src]
Parse a syntax tree node from the content of this string literal.
All spans in the syntax tree will point to the span of this LitStr.
Example
ⓘThis code runs with edition 2018
use proc_macro2::Span; use syn::{Attribute, Error, Ident, Lit, Meta, MetaNameValue, Path, Result}; // Parses the path from an attribute that looks like: // // #[path = "a::b::c"] // // or returns `None` if the input is some other attribute. fn get_path(attr: &Attribute) -> Result<Option<Path>> { if !attr.path.is_ident("path") { return Ok(None); } match attr.parse_meta()? { Meta::NameValue(MetaNameValue { lit: Lit::Str(lit_str), .. }) => { lit_str.parse().map(Some) } _ => { let message = "expected #[path = \"...\"]"; Err(Error::new_spanned(attr, message)) } } }
pub fn parse_with<F: Parser>(&self, parser: F) -> Result<F::Output>[src]
Invoke parser on the content of this string literal.
All spans in the syntax tree will point to the span of this LitStr.
Example
ⓘThis code runs with edition 2018
let lit_str: LitStr = /* ... */; // Parse a string literal like "a::b::c" into a Path, not allowing // generic arguments on any of the path segments. let basic_path = lit_str.parse_with(syn::Path::parse_mod_style)?;
pub fn span(&self) -> Span[src]
pub fn set_span(&mut self, span: Span)[src]
Trait Implementations
impl Clone for LitStr[src]
impl Debug for LitStr[src]
impl Eq for LitStr[src]
impl From<LitStr> for Lit[src]
impl Hash for LitStr[src]
fn hash<H>(&self, state: &mut H) where
H: Hasher, [src]
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl Parse for LitStr[src]
fn parse(input: ParseStream) -> Result<Self>[src]
impl PartialEq<LitStr> for LitStr[src]
impl ToTokens for LitStr[src]
fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn into_token_stream(self) -> TokenStream[src]
impl Token for LitStr[src]
Auto Trait Implementations
impl !RefUnwindSafe for LitStr
impl !Send for LitStr
impl !Sync for LitStr
impl Unpin for LitStr
impl UnwindSafe for LitStr
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,
fn borrow_mut(&mut self) -> &mut T[src]
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,
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> Token for T where
T: CustomToken, [src]
T: CustomToken,
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>,