From f48cc740017bac1214030300435dfa95dbaa220b Mon Sep 17 00:00:00 2001 From: Luqman Aden Date: Fri, 4 Jul 2014 14:54:23 -0700 Subject: [PATCH] Add tests for null pointer opt. --- src/test/run-pass/enum-null-pointer-opt.rs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/test/run-pass/enum-null-pointer-opt.rs diff --git a/src/test/run-pass/enum-null-pointer-opt.rs b/src/test/run-pass/enum-null-pointer-opt.rs new file mode 100644 index 0000000000000..bd9dfc1e44901 --- /dev/null +++ b/src/test/run-pass/enum-null-pointer-opt.rs @@ -0,0 +1,40 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + + +use std::gc::Gc; +use std::mem::size_of; + +trait Trait {} + +fn main() { + // Closures - || / proc() + assert_eq!(size_of::(), size_of::>()); + assert_eq!(size_of::<||>(), size_of::>()); + + // Functions + assert_eq!(size_of::(), size_of::>()); + assert_eq!(size_of::(), size_of::>()); + + // Slices - &str / &[T] / &mut [T] + assert_eq!(size_of::<&str>(), size_of::>()); + assert_eq!(size_of::<&[int]>(), size_of::>()); + assert_eq!(size_of::<&mut [int]>(), size_of::>()); + + // Traits - Box / &Trait / &mut Trait + assert_eq!(size_of::>(), size_of::>>()); + assert_eq!(size_of::<&Trait>(), size_of::>()); + assert_eq!(size_of::<&mut Trait>(), size_of::>()); + + // Pointers - Box / Gc + assert_eq!(size_of::>(), size_of::>>()); + assert_eq!(size_of::>(), size_of::>>()); + +}