From 878356f7acd4ea123a62ed6014147e48080bc69c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20K=C3=A5re=20Alsaker?= Date: Thu, 3 May 2018 05:16:39 +0200 Subject: [PATCH] Add assertions for TyS and TypeVariants sizes --- src/librustc/ty/context.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index bce1776d388ee..e023da06bdef4 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -794,6 +794,12 @@ impl<'a, 'gcx> HashStable> for TypeckTables<'gcx> { impl<'tcx> CommonTypes<'tcx> { fn new(interners: &CtxtInterners<'tcx>) -> CommonTypes<'tcx> { + // Ensure our type representation does not grow + #[cfg(target_pointer_width = "64")] + assert!(mem::size_of::() <= 24); + #[cfg(target_pointer_width = "64")] + assert!(mem::size_of::() <= 32); + let mk = |sty| CtxtInterners::intern_ty(interners, interners, sty); let mk_region = |r| { if let Some(r) = interners.region.borrow().get(&r) {