A region of source code, along with macro expansion information.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
A span that resolves at the macro definition site.
The span of the invocation of the current procedural macro.
Identifiers created with this span will be resolved as if they were written
directly at the macro call location (call-site hygiene) and other code
at the macro call site will be able to refer to them as well.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
The original source file into which this span points.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
The Span
for the tokens in the previous macro expansion from which
self
was generated from, if any.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
The span for the origin source code that self
was generated from. If
this Span
wasn't generated from other macro expansions then the return
value is the same as *self
.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Get the starting line/column in the source file for this span.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Get the ending line/column in the source file for this span.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Create a new span encompassing self
and other
.
Returns None
if self
and other
are from different files.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Creates a new span with the same line/column information as self
but
that resolves symbols as though it were at other
.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Creates a new span with the same name resolution behavior as self
but
with the line/column information of other
.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#38356)
Compares to spans to see if they're equal.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#38356)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#38356)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#38356)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#38356)
Create a new Diagnostic
with the given message
at the span
self
.
Performs copy-assignment from source
. Read more
Prints a span in a form convenient for debugging.
Formats the value using the given formatter. Read more