A region of source code, along with macro expansion information.
🔬 This is a nightly-only experimental API. (
proc_macro_def_site
#54724)
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
#54725)
The original source file into which this span points.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#54725)
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
#54725)
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
#54725)
Get the starting line/column in the source file for this span.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#54725)
Get the ending line/column in the source file for this span.
🔬 This is a nightly-only experimental API. (
proc_macro_span
#54725)
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
#54725)
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
#54725)
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
#54725)
Compares to spans to see if they're equal.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#54140)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#54140)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#54140)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#54140)
Create a new Diagnostic
with the given message
at the span
self
.
🔬 This is a nightly-only experimental API. (
proc_macro_diagnostic
#54140)
Converts self
into a Vec<Span>
.
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
#41263)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (
try_from
#33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from
#33417)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (
try_from
#33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from
#33417)
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
#27745)
this method will likely be replaced by an associated static
🔬 This is a nightly-only experimental API. (rustc_private
#27812)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S
is the encoder/decoder state type, T
is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more