]> git.lizzy.rs Git - rust.git/commitdiff
Fix nits from review
authorDylan MacKenzie <ecstaticmorse@gmail.com>
Thu, 14 Nov 2019 19:58:50 +0000 (11:58 -0800)
committerDylan MacKenzie <ecstaticmorse@gmail.com>
Fri, 15 Nov 2019 18:33:52 +0000 (10:33 -0800)
src/librustc/mir/mod.rs
src/librustc/query/mod.rs
src/librustc_metadata/rmeta/decoder.rs
src/librustc_metadata/rmeta/mod.rs
src/librustc_mir/transform/check_consts/qualifs.rs
src/librustc_mir/transform/check_consts/validation.rs
src/librustc_mir/transform/mod.rs

index 8a847115c9faf5d0a4c379fdbdb57f322c95991d..53ef61f15766590941382a4429d4d1681583596a 100644 (file)
@@ -2770,8 +2770,12 @@ pub struct BorrowCheckResult<'tcx> {
 }
 
 /// The result of the `mir_const_qualif` query.
+///
+/// Each field corresponds to an implementer of the `Qualif` trait in
+/// `librustc_mir/transform/check_consts/qualifs.rs`. See that file for more information on each
+/// `Qualif`.
 #[derive(Clone, Copy, Debug, Default, RustcEncodable, RustcDecodable, HashStable)]
-pub struct QualifSet {
+pub struct ConstQualifs {
     pub has_mut_interior: bool,
     pub needs_drop: bool,
 }
index 421d942373a0ea34b30f0403e38f4535457fac30..e07726bfa2aa12ca689a9c0afdddc170c894f341 100644 (file)
@@ -91,9 +91,9 @@
         }
 
         /// Maps DefId's that have an associated `mir::Body` to the result
-        /// of the MIR qualify_consts pass. The actual meaning of
-        /// the value isn't known except to the pass itself.
-        query mir_const_qualif(key: DefId) -> mir::QualifSet {
+        /// of the MIR const-checking pass. This is the set of qualifs in
+        /// the final value of a `const`.
+        query mir_const_qualif(key: DefId) -> mir::ConstQualifs {
             desc { |tcx| "const checking `{}`", tcx.def_path_str(key) }
             cache_on_disk_if { key.is_local() }
         }
index e3218eebcf05c300e17baedf7cbeee873d02afb1..9e8b22e00d9132317c6818efd642db2bf1aab29f 100644 (file)
@@ -952,7 +952,7 @@ fn get_promoted_mir(
             .decode((self, tcx))
     }
 
-    fn mir_const_qualif(&self, id: DefIndex) -> mir::QualifSet {
+    fn mir_const_qualif(&self, id: DefIndex) -> mir::ConstQualifs {
         match self.kind(id) {
             EntryKind::Const(qualif, _) |
             EntryKind::AssocConst(AssocContainer::ImplDefault, qualif, _) |
index b2fb725a11844d8fc55752e4d37f2fd7ee840c83..8bd7b3392b1a590ac3486fa08bd500ddc2dc4301 100644 (file)
@@ -295,7 +295,7 @@ enum EntryKind<'tcx> {
 /// Additional data for EntryKind::Const and EntryKind::AssocConst
 #[derive(Clone, Copy, RustcEncodable, RustcDecodable)]
 struct ConstQualif {
-    mir: mir::QualifSet,
+    mir: mir::ConstQualifs,
 }
 
 /// Contains a constant which has been rendered to a String.
index 367e0e710c834e9b03f2497695f15a781eaaaec9..aad14299c1d94105532ea4004cf4d0e920377a9a 100644 (file)
@@ -6,8 +6,8 @@
 
 use super::{ConstKind, Item as ConstCx};
 
-pub fn in_any_value_of_ty(cx: &ConstCx<'_, 'tcx>, ty: Ty<'tcx>) -> QualifSet {
-    QualifSet {
+pub fn in_any_value_of_ty(cx: &ConstCx<'_, 'tcx>, ty: Ty<'tcx>) -> ConstQualifs {
+    ConstQualifs {
         has_mut_interior: HasMutInterior::in_any_value_of_ty(cx, ty),
         needs_drop: NeedsDrop::in_any_value_of_ty(cx, ty),
     }
@@ -26,7 +26,7 @@ pub trait Qualif {
     /// Whether this `Qualif` is cleared when a local is moved from.
     const IS_CLEARED_ON_MOVE: bool = false;
 
-    fn in_qualif_set(set: &QualifSet) -> bool;
+    fn in_qualifs(qualifs: &ConstQualifs) -> bool;
 
     /// Return the qualification that is (conservatively) correct for any value
     /// of the type.
@@ -121,7 +121,7 @@ fn in_operand(
                         Self::in_any_value_of_ty(cx, constant.literal.ty)
                     } else {
                         let qualifs = cx.tcx.at(constant.span).mir_const_qualif(def_id);
-                        let qualif = Self::in_qualif_set(&qualifs);
+                        let qualif = Self::in_qualifs(&qualifs);
 
                         // Just in case the type is more specific than
                         // the definition, e.g., impl associated const
@@ -209,8 +209,8 @@ fn in_call(
 impl Qualif for HasMutInterior {
     const ANALYSIS_NAME: &'static str = "flow_has_mut_interior";
 
-    fn in_qualif_set(set: &QualifSet) -> bool {
-        set.has_mut_interior
+    fn in_qualifs(qualifs: &ConstQualifs) -> bool {
+        qualifs.has_mut_interior
     }
 
     fn in_any_value_of_ty(cx: &ConstCx<'_, 'tcx>, ty: Ty<'tcx>) -> bool {
@@ -278,8 +278,8 @@ impl Qualif for NeedsDrop {
     const ANALYSIS_NAME: &'static str = "flow_needs_drop";
     const IS_CLEARED_ON_MOVE: bool = true;
 
-    fn in_qualif_set(set: &QualifSet) -> bool {
-        set.needs_drop
+    fn in_qualifs(qualifs: &ConstQualifs) -> bool {
+        qualifs.needs_drop
     }
 
     fn in_any_value_of_ty(cx: &ConstCx<'_, 'tcx>, ty: Ty<'tcx>) -> bool {
index 2f2c65b8469a3f4dcb72d65ead81434580dd8e8a..21e7c9ce565f0103d99903f5b85f0ca1775c8e37 100644 (file)
@@ -113,7 +113,7 @@ fn has_mut_interior_eager_seek(&self, local: Local) -> bool {
             || self.indirectly_mutable.get().contains(local)
     }
 
-    fn in_return_place(&mut self, item: &Item<'_, 'tcx>) -> QualifSet {
+    fn in_return_place(&mut self, item: &Item<'_, 'tcx>) -> ConstQualifs {
         // Find the `Return` terminator if one exists.
         //
         // If no `Return` terminator exists, this MIR is divergent. Just return the conservative
@@ -136,7 +136,7 @@ fn in_return_place(&mut self, item: &Item<'_, 'tcx>) -> QualifSet {
 
         let return_loc = item.body.terminator_loc(return_block);
 
-        QualifSet {
+        ConstQualifs {
             needs_drop: self.needs_drop_lazy_seek(RETURN_PLACE, return_loc),
             has_mut_interior: self.has_mut_interior_lazy_seek(RETURN_PLACE, return_loc),
         }
@@ -253,7 +253,7 @@ pub fn check_body(&mut self) {
         }
     }
 
-    pub fn qualifs_in_return_place(&mut self) -> QualifSet {
+    pub fn qualifs_in_return_place(&mut self) -> ConstQualifs {
         self.qualifs.in_return_place(self.item)
     }
 
index 32ccf961e396386c539ad7329a822edfa07b1c76..897e37858a68edec0f07345321c5bc75a6ca1a03 100644 (file)
@@ -1,7 +1,7 @@
 use crate::{build, shim};
 use rustc_index::vec::IndexVec;
 use rustc::hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
-use rustc::mir::{Body, MirPhase, Promoted, QualifSet};
+use rustc::mir::{Body, MirPhase, Promoted, ConstQualifs};
 use rustc::ty::{TyCtxt, InstanceDef, TypeFoldable};
 use rustc::ty::query::Providers;
 use rustc::ty::steal::Steal;
@@ -184,7 +184,7 @@ pub fn run_passes(
     body.phase = mir_phase;
 }
 
-fn mir_const_qualif(tcx: TyCtxt<'_>, def_id: DefId) -> QualifSet {
+fn mir_const_qualif(tcx: TyCtxt<'_>, def_id: DefId) -> ConstQualifs {
     let const_kind = check_consts::ConstKind::for_item(tcx, def_id);
 
     // No need to const-check a non-const `fn`.