Struct proc_macro::Ident
1.29.0 · source · pub struct Ident(/* private fields */);
Expand description
An identifier (ident
).
Implementations§
source§impl Ident
impl Ident
1.29.0 · sourcepub fn new(string: &str, span: Span) -> Ident
pub fn new(string: &str, span: Span) -> Ident
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 (including keywords, e.g. self
or fn
). 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.
1.47.0 · sourcepub fn new_raw(string: &str, span: Span) -> Ident
pub fn new_raw(string: &str, span: Span) -> Ident
Same as Ident::new
, but creates a raw identifier (r#ident
).
The string
argument be a valid identifier permitted by the language
(including keywords, e.g. fn
). Keywords which are usable in path segments
(e.g. self
, super
) are not supported, and will cause a panic.