From ff6faabda7840db86b90663f239bac909bae3a18 Mon Sep 17 00:00:00 2001 From: Dylan MacKenzie Date: Wed, 25 Sep 2019 12:30:25 -0700 Subject: [PATCH] Add description for every module in `check_consts` --- src/librustc_mir/transform/check_consts/mod.rs | 6 ++++++ src/librustc_mir/transform/check_consts/ops.rs | 2 ++ src/librustc_mir/transform/check_consts/qualifs.rs | 2 ++ src/librustc_mir/transform/check_consts/resolver.rs | 5 +++++ src/librustc_mir/transform/check_consts/validation.rs | 2 ++ 5 files changed, 17 insertions(+) diff --git a/src/librustc_mir/transform/check_consts/mod.rs b/src/librustc_mir/transform/check_consts/mod.rs index 3f26b4f0f45c..3a959a86edd8 100644 --- a/src/librustc_mir/transform/check_consts/mod.rs +++ b/src/librustc_mir/transform/check_consts/mod.rs @@ -1,3 +1,9 @@ +//! Check the bodies of `const`s, `static`s and `const fn`s for illegal operations. +//! +//! This module will eventually replace the parts of `qualify_consts.rs` that check whether a local +//! has interior mutability or needs to be dropped, as well as the visitor that emits errors when +//! it finds operations that are invalid in a certain context. + use rustc::hir::def_id::DefId; use rustc::mir; use rustc::ty::{self, TyCtxt}; diff --git a/src/librustc_mir/transform/check_consts/ops.rs b/src/librustc_mir/transform/check_consts/ops.rs index a05a13dc123d..f457b739949c 100644 --- a/src/librustc_mir/transform/check_consts/ops.rs +++ b/src/librustc_mir/transform/check_consts/ops.rs @@ -1,3 +1,5 @@ +//! Concrete error types for all operations which may be invalid in a certain const context. + use rustc::hir::def_id::DefId; use rustc::mir::BorrowKind; use rustc::session::config::nightly_options; diff --git a/src/librustc_mir/transform/check_consts/qualifs.rs b/src/librustc_mir/transform/check_consts/qualifs.rs index 8e0b49d157e0..5902ee0cc3f9 100644 --- a/src/librustc_mir/transform/check_consts/qualifs.rs +++ b/src/librustc_mir/transform/check_consts/qualifs.rs @@ -1,3 +1,5 @@ +//! A copy of the `Qualif` trait in `qualify_consts.rs` that is suitable for the new validator. + use rustc::mir::*; use rustc::mir::interpret::ConstValue; use rustc::ty::{self, Ty}; diff --git a/src/librustc_mir/transform/check_consts/resolver.rs b/src/librustc_mir/transform/check_consts/resolver.rs index 52c471ad691e..c23a7e98efcb 100644 --- a/src/librustc_mir/transform/check_consts/resolver.rs +++ b/src/librustc_mir/transform/check_consts/resolver.rs @@ -1,3 +1,8 @@ +//! Propagate `Qualif`s between locals and query the results. +//! +//! This also contains the dataflow analysis used to track `Qualif`s on complex control-flow +//! graphs. + use rustc::mir::visit::Visitor; use rustc::mir::{self, BasicBlock, Local, Location}; use rustc_data_structures::bit_set::BitSet; diff --git a/src/librustc_mir/transform/check_consts/validation.rs b/src/librustc_mir/transform/check_consts/validation.rs index 74bf70f05e68..11a93225d363 100644 --- a/src/librustc_mir/transform/check_consts/validation.rs +++ b/src/librustc_mir/transform/check_consts/validation.rs @@ -1,3 +1,5 @@ +//! The `Visitor` responsible for actually checking a `mir::Body` for invalid operations. + use rustc::hir::{self, def_id::DefId}; use rustc::mir::visit::{PlaceContext, Visitor, MutatingUseContext, NonMutatingUseContext}; use rustc::mir::*;