]> git.lizzy.rs Git - rust.git/blob - library/alloc/src/alloc/tests.rs
:arrow_up: rust-analyzer
[rust.git] / library / alloc / src / alloc / tests.rs
1 use super::*;
2
3 extern crate test;
4 use crate::boxed::Box;
5 use test::Bencher;
6
7 #[test]
8 fn allocate_zeroed() {
9     unsafe {
10         let layout = Layout::from_size_align(1024, 1).unwrap();
11         let ptr =
12             Global.allocate_zeroed(layout.clone()).unwrap_or_else(|_| handle_alloc_error(layout));
13
14         let mut i = ptr.as_non_null_ptr().as_ptr();
15         let end = i.add(layout.size());
16         while i < end {
17             assert_eq!(*i, 0);
18             i = i.add(1);
19         }
20         Global.deallocate(ptr.as_non_null_ptr(), layout);
21     }
22 }
23
24 #[bench]
25 fn alloc_owned_small(b: &mut Bencher) {
26     b.iter(|| {
27         let _: Box<_> = Box::new(10);
28     })
29 }