about summary refs log tree commit diff
path: root/src/test/run-pass/allocator-alloc-one.rs
blob: 9011426172374f0e2f3629a5acb20105b32f1874 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![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);
    }
}