diff options
| author | Simon Sapin <simon.sapin@exyr.org> | 2019-10-16 20:33:55 +0200 |
|---|---|---|
| committer | Simon Sapin <simon.sapin@exyr.org> | 2019-10-18 23:57:22 +0200 |
| commit | 227db40a98e5bd903aa3658c16f19a3d6f694deb (patch) | |
| tree | e8a9a90c01e5595cfb97db7ad5aa88dc2d925435 /src/liballoc/tests | |
| parent | ca1cfdab78d1966efd492cd550a3684f3b95527c (diff) | |
| download | rust-227db40a98e5bd903aa3658c16f19a3d6f694deb.tar.gz rust-227db40a98e5bd903aa3658c16f19a3d6f694deb.zip | |
Uninitialized boxes: add test for zero-size allocations
Diffstat (limited to 'src/liballoc/tests')
| -rw-r--r-- | src/liballoc/tests/boxed.rs | 18 | ||||
| -rw-r--r-- | src/liballoc/tests/lib.rs | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/liballoc/tests/boxed.rs b/src/liballoc/tests/boxed.rs new file mode 100644 index 00000000000..bc3d53bf30d --- /dev/null +++ b/src/liballoc/tests/boxed.rs @@ -0,0 +1,18 @@ +use std::ptr::NonNull; +use std::mem::MaybeUninit; + +#[test] +fn unitialized_zero_size_box() { + assert_eq!( + &*Box::<()>::new_uninit() as *const _, + NonNull::<MaybeUninit<()>>::dangling().as_ptr(), + ); + assert_eq!( + Box::<[()]>::new_uninit_slice(4).as_ptr(), + NonNull::<MaybeUninit<()>>::dangling().as_ptr(), + ); + assert_eq!( + Box::<[String]>::new_uninit_slice(0).as_ptr(), + NonNull::<MaybeUninit<String>>::dangling().as_ptr(), + ); +} diff --git a/src/liballoc/tests/lib.rs b/src/liballoc/tests/lib.rs index 5723a30c0f3..59f5c8dfb8a 100644 --- a/src/liballoc/tests/lib.rs +++ b/src/liballoc/tests/lib.rs @@ -2,6 +2,7 @@ #![feature(box_syntax)] #![feature(drain_filter)] #![feature(exact_size_is_empty)] +#![feature(new_uninit)] #![feature(option_flattening)] #![feature(pattern)] #![feature(repeat_generic_slice)] @@ -15,6 +16,7 @@ use std::collections::hash_map::DefaultHasher; mod arc; mod binary_heap; +mod boxed; mod btree; mod cow_str; mod fmt; |
