An attribute like #[repr(transparent)]
.
This type is available if Syn is built with the "derive"
or "full"
feature.
Rust has six types of attributes.
- Outer attributes like
#[repr(transparent)]
. These appear outside or
in front of the item they describe.
- Inner attributes like
#![feature(proc_macro)]
. These appear inside
of the item they describe, usually a module.
- Outer doc comments like
/// # Example
.
- Inner doc comments like
//! Please file an issue
.
- Outer block comments
/** # Example */
.
- Inner block comments
/*! Please file an issue */
.
The style
field of type AttrStyle
distinguishes whether an attribute
is outer or inner. Doc comments and block comments are promoted to
attributes that have is_sugared_doc
set to true, as this is how they
are processed by the compiler and by macro_rules!
macros.
The path
field gives the possibly colon-delimited path against which
the attribute is resolved. It is equal to "doc"
for desugared doc
comments. The tts
field contains the rest of the attribute body as
tokens.
#[derive(Copy)] #[crate::precondition x < 5]
^^^^^^~~~~~~ ^^^^^^^^^^^^^^^^^^^ ~~~~~
path tts path tts
Use the interpret_meta
method to try parsing the tokens of an
attribute into the structured representation that is used by convention
across most Rust libraries.
Parses the tokens after the path as a Meta
if
possible.
Write self
to the given TokenStream
. Read more
Convert self
directly into a TokenStream
object. Read more
Formats the value using the given formatter. Read more
Performs copy-assignment from source
. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Feeds this value into the given [Hasher
]. Read more
Feeds a slice of this type into the given [Hasher
]. Read more
Returns a Span
covering the complete contents of this syntax tree node, or [Span::call_site()
] if this node is empty. 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
[+]
[+]
type Error = <U as TryFrom<T>>::Error
🔬 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
[+]
[−]
🔬 This is a nightly-only experimental API. (rustc_private
)
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