pub struct UnicodeStr {
pub unicode_token: unicode,
pub value: LitStr,
}
Expand description
A unicode string.
Fields§
§unicode_token: unicode
The prefix of the string.
value: LitStr
The string literal.
Methods from Deref<Target = LitStr>§
pub fn value(&self) -> String
Sourcepub fn parse<T>(&self) -> Result<T, Error>where
T: Parse,
Available on crate feature parsing
only.
pub fn parse<T>(&self) -> Result<T, Error>where
T: Parse,
parsing
only.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
use syn::{Attribute, Error, Expr, Lit, Meta, 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);
}
if let Meta::NameValue(meta) = &attr.meta {
if let Expr::Lit(expr) = &meta.value {
if let Lit::Str(lit_str) = &expr.lit {
return lit_str.parse().map(Some);
}
}
}
let message = "expected #[path = \"...\"]";
Err(Error::new_spanned(attr, message))
}
Sourcepub fn parse_with<F>(&self, parser: F) -> Result<<F as Parser>::Output, Error>where
F: Parser,
Available on crate feature parsing
only.
pub fn parse_with<F>(&self, parser: F) -> Result<<F as Parser>::Output, Error>where
F: Parser,
parsing
only.Invoke parser on the content of this string literal.
All spans in the syntax tree will point to the span of this LitStr
.
§Example
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
pub fn set_span(&mut self, span: Span)
pub fn suffix(&self) -> &str
pub fn token(&self) -> Literal
Trait Implementations§
Source§impl Clone for UnicodeStr
impl Clone for UnicodeStr
Source§fn clone(&self) -> UnicodeStr
fn clone(&self) -> UnicodeStr
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for UnicodeStr
impl Debug for UnicodeStr
Source§impl Deref for UnicodeStr
impl Deref for UnicodeStr
Source§impl DerefMut for UnicodeStr
impl DerefMut for UnicodeStr
Source§impl Parse for UnicodeStr
impl Parse for UnicodeStr
fn parse(input: ParseStream<'_>) -> Result<Self>
Source§impl Spanned for UnicodeStr
impl Spanned for UnicodeStr
Source§fn span(&self) -> Span
fn span(&self) -> Span
Returns a
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.Auto Trait Implementations§
impl Freeze for UnicodeStr
impl RefUnwindSafe for UnicodeStr
impl !Send for UnicodeStr
impl !Sync for UnicodeStr
impl Unpin for UnicodeStr
impl UnwindSafe for UnicodeStr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)