Ident in proc_macro - Rust (original) (raw)

Struct Ident

1.29.0 · Source

pub struct Ident(/* private fields */);

Expand description

An identifier (ident).

Source§

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.

1.29.0 · Source§

1.29.0 · Source§

1.29.0 · Source§

Prints the identifier as a string that should be losslessly convertible back into the same identifier.

1.29.0 · Source§

Source§

Converts to this type from the input type.

Source§

Source§

🔬This is a nightly-only experimental API. (proc_macro_totokens #130977)

Write self to the given TokenStream. Read more

Source§

🔬This is a nightly-only experimental API. (proc_macro_totokens #130977)

Convert self directly into a TokenStream object. Read more

Source§

🔬This is a nightly-only experimental API. (proc_macro_totokens #130977)

Convert self directly into a TokenStream object. Read more

§

§

§

§

§

§