Ident in proc_macro - Rust (original) (raw)
Struct Ident
1.29.0 · Source
pub struct Ident(/* private fields */);
Expand description
An identifier (ident
).
1.29.0 · Source
Creates a new Ident
with the given string
as well as the specifiedspan
. 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 · Source
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.
1.29.0 · Source
Returns the span of this Ident
, encompassing the entire string returned by to_string.
1.29.0 · Source
Configures the span of this Ident
, possibly changing its hygiene context.
Prints the identifier as a string that should be losslessly convertible back into the same identifier.
Converts to this type from the input type.
🔬This is a nightly-only experimental API. (proc_macro_totokens
#130977)
Write self
to the given TokenStream
. Read more
🔬This is a nightly-only experimental API. (proc_macro_totokens
#130977)
Convert self
directly into a TokenStream
object. Read more
🔬This is a nightly-only experimental API. (proc_macro_totokens
#130977)
Convert self
directly into a TokenStream
object. Read more