pub struct HexStr {
pub hex_token: hex,
pub value: LitStr,
}
Expand description
A hex string.
Fields§
§hex_token: hex
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§
Auto Trait Implementations§
impl Freeze for HexStr
impl RefUnwindSafe for HexStr
impl !Send for HexStr
impl !Sync for HexStr
impl Unpin for HexStr
impl UnwindSafe for HexStr
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
)