diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-03-03 17:50:06 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-03 17:50:06 +0900 |
| commit | 4699b29a04e84746e28ef688f02993c3b4d54951 (patch) | |
| tree | 5a0bb1e2dc696937965e4e103524cf8a2cc80bd7 /src/libstd | |
| parent | dfacdda6494bf55bfd4af07cde1bc42d8a3c32e8 (diff) | |
| parent | d8e3557dbae23283f81d7bc45200413dd93ced4a (diff) | |
| download | rust-4699b29a04e84746e28ef688f02993c3b4d54951.tar.gz rust-4699b29a04e84746e28ef688f02993c3b4d54951.zip | |
Rollup merge of #69609 - TimDiekmann:excess, r=Amanieu
Remove `usable_size` APIs This removes the usable size APIs: - remove `usable_size` (obv) - change return type of allocating methods to include the allocated size - remove `_excess` API r? @Amanieu closes rust-lang/wg-allocators#17
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/alloc.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/libstd/alloc.rs b/src/libstd/alloc.rs index 8965c6860c4..2da18e06d99 100644 --- a/src/libstd/alloc.rs +++ b/src/libstd/alloc.rs @@ -137,13 +137,15 @@ pub struct System; #[unstable(feature = "allocator_api", issue = "32838")] unsafe impl AllocRef for System { #[inline] - unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<u8>, AllocErr> { - NonNull::new(GlobalAlloc::alloc(self, layout)).ok_or(AllocErr) + unsafe fn alloc(&mut self, layout: Layout) -> Result<(NonNull<u8>, usize), AllocErr> { + NonNull::new(GlobalAlloc::alloc(self, layout)).ok_or(AllocErr).map(|p| (p, layout.size())) } #[inline] - unsafe fn alloc_zeroed(&mut self, layout: Layout) -> Result<NonNull<u8>, AllocErr> { - NonNull::new(GlobalAlloc::alloc_zeroed(self, layout)).ok_or(AllocErr) + unsafe fn alloc_zeroed(&mut self, layout: Layout) -> Result<(NonNull<u8>, usize), AllocErr> { + NonNull::new(GlobalAlloc::alloc_zeroed(self, layout)) + .ok_or(AllocErr) + .map(|p| (p, layout.size())) } #[inline] @@ -157,8 +159,10 @@ unsafe impl AllocRef for System { ptr: NonNull<u8>, layout: Layout, new_size: usize, - ) -> Result<NonNull<u8>, AllocErr> { - NonNull::new(GlobalAlloc::realloc(self, ptr.as_ptr(), layout, new_size)).ok_or(AllocErr) + ) -> Result<(NonNull<u8>, usize), AllocErr> { + NonNull::new(GlobalAlloc::realloc(self, ptr.as_ptr(), layout, new_size)) + .ok_or(AllocErr) + .map(|p| (p, new_size)) } } |
