pub struct Ident { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
proc_macro
#38356)
🔬 This is a nightly-only experimental API. (
proc_macro
#38356)
Creates a new Ident
with the given string
as well as the specified
span
.
The string
argument must be a valid identifier permitted by the
language, otherwise the function will panic.
Note that span
, currently in rustc, configures the hygiene information
for this identifier.
As of this time Span::call_site()
explicitly opts-in to "call-site" hygiene
meaning that identifiers created with this span will be resolved as if they were written
directly at the location of the macro call, and other code at the macro call site will be
able to refer to them as well.
Later spans like Span::def_site()
will allow to opt-in to "definition-site" hygiene
meaning that identifiers created with this span will be resolved at the location of the
macro definition and other code at the macro call site will not be able to refer to them.
Due to the current importance of hygiene this constructor, unlike other
tokens, requires a Span
to be specified at construction.
🔬 This is a nightly-only experimental API. (
proc_macro
#38356)
Same as Ident::new
, but creates a raw identifier (r#ident
).
🔬 This is a nightly-only experimental API. (
proc_macro
#38356)
Returns the span of this Ident
, encompassing the entire string returned
by as_str
.
🔬 This is a nightly-only experimental API. (
proc_macro
#38356)
Configures the span of this Ident
, possibly changing its hygiene context.
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Prints the identifier as a string that should be losslessly convertible
back into the same identifier.
Formats the value using the given formatter. Read more