Document newtype_index attributes.

This commit is contained in:
Nicholas Nethercote 2023-11-21 18:42:34 +11:00
parent 7060fc8327
commit 0991374bd1

View File

@ -18,8 +18,19 @@
/// to create/return a value. /// to create/return a value.
/// ///
/// Internally, the index uses a u32, so the index must not exceed /// Internally, the index uses a u32, so the index must not exceed
/// `u32::MAX`. You can also customize things like the `Debug` impl, /// `u32::MAX`.
/// what traits are derived, and so forth via the macro. ///
/// The impls provided by default are Clone, Copy, PartialEq, Eq, and Hash.
///
/// Accepted attributes for customization:
/// - #[derive(HashStable_Generic)]/#[derive(HashStable)]: derives
/// `HashStable`, as normal.
/// - #[encodable]: derives `Encodable`/`Decodable`.
/// - #[orderable]: derives `PartialOrd`/`Ord`, plus step-related methods.
/// - #[debug_format = "Foo({})"]: derives `Debug` with particular output.
/// - #[max = 0xFFFF_FFFD]: specifies the max value, which allows niche
/// optimizations. The default max value is 0xFFFF_FF00.
/// - #[gate_rustc_only]: makes parts of the generated code nightly-only.
#[proc_macro] #[proc_macro]
#[cfg_attr( #[cfg_attr(
feature = "nightly", feature = "nightly",