pub struct Span { /* fields omitted */ }
A region of source code, along with macro expansion information.
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.
A span that resolves at the macro definition site.
This method is semver exempt and not exposed by default.
Creates a new span with the same line/column information as self
but
that resolves symbols as though it were at other
.
This method is semver exempt and not exposed by default.
Creates a new span with the same name resolution behavior as self
but
with the line/column information of other
.
This method is semver exempt and not exposed by default.
Convert proc_macro2::Span
to proc_macro::Span
.
This method is available when building with a nightly compiler, or when
building with rustc 1.29+ without semver exempt features.
Panics if called from outside of a procedural macro. Unlike
proc_macro2::Span
, the proc_macro::Span
type can only exist within
the context of a procedural macro invocation.
The original source file into which this span points.
This method is semver exempt and not exposed by default.
Get the starting line/column in the source file for this span.
This method is semver exempt and not exposed by default.
Get the ending line/column in the source file for this span.
This method is semver exempt and not exposed by default.
Create a new span encompassing self
and other
.
Returns None
if self
and other
are from different files.
This method is semver exempt and not exposed by default.
Compares to spans to see if they're equal.
This method is semver exempt and not exposed by default.
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
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static