From e83272b62883f97b8717a8150d894e89d7ae18d6 Mon Sep 17 00:00:00 2001 From: Luqman Aden Date: Fri, 5 Dec 2014 14:52:38 -0500 Subject: [PATCH] Add tests for NonZero. --- src/test/run-pass/enum-null-pointer-opt.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/run-pass/enum-null-pointer-opt.rs b/src/test/run-pass/enum-null-pointer-opt.rs index afed658a27b..f0e34f0dc4b 100644 --- a/src/test/run-pass/enum-null-pointer-opt.rs +++ b/src/test/run-pass/enum-null-pointer-opt.rs @@ -10,6 +10,9 @@ use std::mem::size_of; +use std::ptr::NonZero; +use std::rc::Rc; +use std::sync::Arc; trait Trait {} @@ -51,4 +54,16 @@ fn main() { // and fixed-size arrays assert_eq!(size_of::<[Box, ..1]>(), size_of::, ..1]>>()); + // Should apply to NonZero + assert_eq!(size_of::>(), size_of::>>()); + assert_eq!(size_of::>(), size_of::>>()); + + // Should apply to types that use NonZero internally + assert_eq!(size_of::>(), size_of::>>()); + assert_eq!(size_of::>(), size_of::>>()); + assert_eq!(size_of::>(), size_of::>>()); + + // Should apply to types that have NonZero transitively + assert_eq!(size_of::(), size_of::>()); + }