
We already do this for a number of crates, e.g. `rustc_middle`, `rustc_span`, `rustc_metadata`, `rustc_span`, `rustc_errors`. For the ones we don't, in many cases the attributes are a mess. - There is no consistency about order of attribute kinds (e.g. `allow`/`deny`/`feature`). - Within attribute kind groups (e.g. the `feature` attributes), sometimes the order is alphabetical, and sometimes there is no particular order. - Sometimes the attributes of a particular kind aren't even grouped all together, e.g. there might be a `feature`, then an `allow`, then another `feature`. This commit extends the existing sorting to all compiler crates, increasing consistency. If any new attribute line is added there is now only one place it can go -- no need for arbitrary decisions. Exceptions: - `rustc_log`, `rustc_next_trait_solver` and `rustc_type_ir_macros`, because they have no crate attributes. - `rustc_codegen_gcc`, because it's quasi-external to rustc (e.g. it's ignored in `rustfmt.toml`).
27 lines
714 B
Rust
27 lines
714 B
Rust
//! Support code for encoding and decoding types.
|
|
|
|
// tidy-alphabetical-start
|
|
#![allow(internal_features)]
|
|
#![allow(rustc::internal)]
|
|
#![cfg_attr(test, feature(test))]
|
|
#![doc(
|
|
html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/",
|
|
html_playground_url = "https://play.rust-lang.org/",
|
|
test(attr(allow(unused_variables), deny(warnings)))
|
|
)]
|
|
#![doc(rust_logo)]
|
|
#![feature(const_option)]
|
|
#![feature(core_intrinsics)]
|
|
#![feature(min_specialization)]
|
|
#![feature(never_type)]
|
|
#![feature(ptr_sub_ptr)]
|
|
#![feature(rustdoc_internals)]
|
|
// tidy-alphabetical-end
|
|
|
|
pub use self::serialize::{Decodable, Decoder, Encodable, Encoder};
|
|
|
|
mod serialize;
|
|
|
|
pub mod int_overflow;
|
|
pub mod leb128;
|
|
pub mod opaque;
|