mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-09 16:37:36 +00:00

Bump bootstrap compiler to beta 1.53.0 This PR bumps the bootstrap compiler to version 1.53.0 beta, as part of our usual release process (this was supposed to be Wednesday's step, but creating the beta release took longer than expected). The PR also includes the "Bootstrap: skip rustdoc fingerprint for building docs" commit, see the reasoning [on Zulip](https://zulip-archive.rust-lang.org/241545trelease/88450153betabootstrap.html). r? `@Mark-Simulacrum`
96 lines
2.5 KiB
Rust
96 lines
2.5 KiB
Rust
//! The "main crate" of the Rust compiler. This crate contains common
|
|
//! type definitions that are used by the other crates in the rustc
|
|
//! "family". Some prominent examples (note that each of these modules
|
|
//! has their own README with further details).
|
|
//!
|
|
//! - **HIR.** The "high-level (H) intermediate representation (IR)" is
|
|
//! defined in the `hir` module.
|
|
//! - **MIR.** The "mid-level (M) intermediate representation (IR)" is
|
|
//! defined in the `mir` module. This module contains only the
|
|
//! *definition* of the MIR; the passes that transform and operate
|
|
//! on MIR are found in `rustc_mir` crate.
|
|
//! - **Types.** The internal representation of types used in rustc is
|
|
//! defined in the `ty` module. This includes the **type context**
|
|
//! (or `tcx`), which is the central context during most of
|
|
//! compilation, containing the interners and other things.
|
|
//!
|
|
//! For more information about how rustc works, see the [rustc dev guide].
|
|
//!
|
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
|
//!
|
|
//! # Note
|
|
//!
|
|
//! This API is completely unstable and subject to change.
|
|
|
|
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
|
#![feature(array_windows)]
|
|
#![feature(assert_matches)]
|
|
#![feature(backtrace)]
|
|
#![feature(bool_to_option)]
|
|
#![feature(box_patterns)]
|
|
#![feature(box_syntax)]
|
|
#![feature(const_panic)]
|
|
#![feature(core_intrinsics)]
|
|
#![feature(discriminant_kind)]
|
|
#![feature(never_type)]
|
|
#![feature(extern_types)]
|
|
#![feature(nll)]
|
|
#![feature(once_cell)]
|
|
#![feature(min_specialization)]
|
|
#![feature(trusted_len)]
|
|
#![feature(test)]
|
|
#![feature(in_band_lifetimes)]
|
|
#![feature(crate_visibility_modifier)]
|
|
#![feature(associated_type_bounds)]
|
|
#![feature(rustc_attrs)]
|
|
#![feature(int_error_matching)]
|
|
#![feature(half_open_range_patterns)]
|
|
#![feature(exclusive_range_pattern)]
|
|
#![feature(control_flow_enum)]
|
|
#![feature(associated_type_defaults)]
|
|
#![feature(iter_zip)]
|
|
#![feature(thread_local_const_init)]
|
|
#![recursion_limit = "512"]
|
|
|
|
#[macro_use]
|
|
extern crate bitflags;
|
|
#[macro_use]
|
|
extern crate rustc_macros;
|
|
#[macro_use]
|
|
extern crate rustc_data_structures;
|
|
#[macro_use]
|
|
extern crate tracing;
|
|
#[macro_use]
|
|
extern crate smallvec;
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
#[macro_use]
|
|
mod macros;
|
|
|
|
#[macro_use]
|
|
pub mod query;
|
|
|
|
#[macro_use]
|
|
pub mod arena;
|
|
#[macro_use]
|
|
pub mod dep_graph;
|
|
pub mod hir;
|
|
pub mod ich;
|
|
pub mod infer;
|
|
pub mod lint;
|
|
pub mod middle;
|
|
pub mod mir;
|
|
pub mod thir;
|
|
pub mod traits;
|
|
pub mod ty;
|
|
|
|
pub mod util {
|
|
pub mod bug;
|
|
pub mod common;
|
|
}
|
|
|
|
// Allows macros to refer to this crate as `::rustc_middle`
|
|
extern crate self as rustc_middle;
|