diff options
Diffstat (limited to 'src/test/ui/allocator-alloc-one.rs')
| -rw-r--r-- | src/test/ui/allocator-alloc-one.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/allocator-alloc-one.rs b/src/test/ui/allocator-alloc-one.rs new file mode 100644 index 00000000000..312d5f13b1a --- /dev/null +++ b/src/test/ui/allocator-alloc-one.rs @@ -0,0 +1,18 @@ +// run-pass + +#![allow(stable_features)] + +#![feature(allocator_api, nonnull)] + +use std::alloc::{Alloc, Global, Layout, handle_alloc_error}; + +fn main() { + unsafe { + let ptr = Global.alloc_one::<i32>().unwrap_or_else(|_| { + handle_alloc_error(Layout::new::<i32>()) + }); + *ptr.as_ptr() = 4; + assert_eq!(*ptr.as_ptr(), 4); + Global.dealloc_one(ptr); + } +} |
