summary refs log tree commit diff
path: root/src/test/ui/allocator-alloc-one.rs
blob: 312d5f13b1a4272174fcb26f28a998ecd5b64714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
    }
}