about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2022-07-04 11:38:11 +0200
committerJakub Beránek <berykubik@gmail.com>2022-07-04 11:38:11 +0200
commit928c17203a4d6ca9c119787c7ebfd3d2a487eeab (patch)
treec7897611149e0e41b415f8cea39672bde1e26ed9
parent2a57e5efed5b84a2eaedf5240df4b8d80f012409 (diff)
downloadrust-928c17203a4d6ca9c119787c7ebfd3d2a487eeab.tar.gz
rust-928c17203a4d6ca9c119787c7ebfd3d2a487eeab.zip
Only validate HIR with `debug_assertions` on
-rw-r--r--compiler/rustc_passes/src/hir_id_validator.rs41
1 files changed, 22 insertions, 19 deletions
diff --git a/compiler/rustc_passes/src/hir_id_validator.rs b/compiler/rustc_passes/src/hir_id_validator.rs
index b268cee96db..550c062f4de 100644
--- a/compiler/rustc_passes/src/hir_id_validator.rs
+++ b/compiler/rustc_passes/src/hir_id_validator.rs
@@ -15,25 +15,28 @@ pub fn check_crate(tcx: TyCtxt<'_>) {
         crate::hir_stats::print_hir_stats(tcx);
     }
 
-    let errors = Lock::new(Vec::new());
-    let hir_map = tcx.hir();
-
-    hir_map.par_for_each_module(|module_id| {
-        let mut v = HirIdValidator {
-            hir_map,
-            owner: None,
-            hir_ids_seen: Default::default(),
-            errors: &errors,
-        };
-
-        tcx.hir().deep_visit_item_likes_in_module(module_id, &mut v);
-    });
-
-    let errors = errors.into_inner();
-
-    if !errors.is_empty() {
-        let message = errors.iter().fold(String::new(), |s1, s2| s1 + "\n" + s2);
-        tcx.sess.delay_span_bug(rustc_span::DUMMY_SP, &message);
+    #[cfg(debug_assertions)]
+    {
+        let errors = Lock::new(Vec::new());
+        let hir_map = tcx.hir();
+
+        hir_map.par_for_each_module(|module_id| {
+            let mut v = HirIdValidator {
+                hir_map,
+                owner: None,
+                hir_ids_seen: Default::default(),
+                errors: &errors,
+            };
+
+            tcx.hir().deep_visit_item_likes_in_module(module_id, &mut v);
+        });
+
+        let errors = errors.into_inner();
+
+        if !errors.is_empty() {
+            let message = errors.iter().fold(String::new(), |s1, s2| s1 + "\n" + s2);
+            tcx.sess.delay_span_bug(rustc_span::DUMMY_SP, &message);
+        }
     }
 }