Skip to content

Commit 13ea745

Browse files
committed
Auto merge of #1530 - RalfJung:rustup, r=RalfJung
rustup Another day, another `AllocRef` API change.
2 parents 2be4052 + 39e6bae commit 13ea745

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c4b6d9411f939c1ad7b3521b907fa101f3360462
1+
18b0585b52741ca158dfebef7968326e2704352e

tests/run-pass/heap_allocator.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,39 @@ use std::slice;
66

77
fn check_alloc<T: AllocRef>(mut allocator: T) { unsafe {
88
for &align in &[4, 8, 16, 32] {
9-
let layout = Layout::from_size_align(20, align).unwrap();
9+
let layout_20 = Layout::from_size_align(20, align).unwrap();
10+
let layout_40 = Layout::from_size_align(40, 4*align).unwrap();
11+
let layout_10 = Layout::from_size_align(10, align/2).unwrap();
1012

1113
for _ in 0..32 {
12-
let a = allocator.alloc(layout).unwrap().as_non_null_ptr();
13-
assert_eq!(a.as_ptr() as usize % align, 0, "pointer is incorrectly aligned");
14-
allocator.dealloc(a, layout);
14+
let a = allocator.alloc(layout_20).unwrap().as_non_null_ptr();
15+
assert_eq!(a.as_ptr() as usize % layout_20.align(), 0, "pointer is incorrectly aligned");
16+
allocator.dealloc(a, layout_20);
1517
}
1618

17-
let p1 = allocator.alloc_zeroed(layout).unwrap().as_non_null_ptr();
18-
assert_eq!(p1.as_ptr() as usize % align, 0, "pointer is incorrectly aligned");
19+
let p1 = allocator.alloc_zeroed(layout_20).unwrap().as_non_null_ptr();
20+
assert_eq!(p1.as_ptr() as usize % layout_20.align(), 0, "pointer is incorrectly aligned");
1921
assert_eq!(*p1.as_ptr(), 0);
2022

2123
// old size < new size
22-
let p2 = allocator.grow(p1, layout, 40).unwrap().as_non_null_ptr();
23-
let layout = Layout::from_size_align(40, align).unwrap();
24-
assert_eq!(p2.as_ptr() as usize % align, 0, "pointer is incorrectly aligned");
24+
let p2 = allocator.grow(p1, layout_20, layout_40).unwrap().as_non_null_ptr();
25+
assert_eq!(p2.as_ptr() as usize % layout_40.align(), 0, "pointer is incorrectly aligned");
2526
let slice = slice::from_raw_parts(p2.as_ptr(), 20);
2627
assert_eq!(&slice, &[0_u8; 20]);
2728

2829
// old size == new size
29-
let p3 = allocator.grow(p2, layout, 40).unwrap().as_non_null_ptr();
30-
assert_eq!(p3.as_ptr() as usize % align, 0, "pointer is incorrectly aligned");
30+
let p3 = allocator.grow(p2, layout_40, layout_40).unwrap().as_non_null_ptr();
31+
assert_eq!(p3.as_ptr() as usize % layout_40.align(), 0, "pointer is incorrectly aligned");
3132
let slice = slice::from_raw_parts(p3.as_ptr(), 20);
3233
assert_eq!(&slice, &[0_u8; 20]);
3334

3435
// old size > new size
35-
let p4 = allocator.shrink(p3, layout, 10).unwrap().as_non_null_ptr();
36-
let layout = Layout::from_size_align(10, align).unwrap();
37-
assert_eq!(p4.as_ptr() as usize % align, 0, "pointer is incorrectly aligned");
36+
let p4 = allocator.shrink(p3, layout_40, layout_10).unwrap().as_non_null_ptr();
37+
assert_eq!(p4.as_ptr() as usize % layout_10.align(), 0, "pointer is incorrectly aligned");
3838
let slice = slice::from_raw_parts(p4.as_ptr(), 10);
3939
assert_eq!(&slice, &[0_u8; 10]);
4040

41-
allocator.dealloc(p4, layout);
41+
allocator.dealloc(p4, layout_10);
4242
}
4343
} }
4444

0 commit comments

Comments
 (0)