]> git.lizzy.rs Git - rust.git/commitdiff
Remove conversions for allocated pointers
authorSimon Sapin <simon.sapin@exyr.org>
Wed, 11 Apr 2018 14:28:37 +0000 (16:28 +0200)
committerSimon Sapin <simon.sapin@exyr.org>
Thu, 12 Apr 2018 20:53:22 +0000 (22:53 +0200)
One was now unused, and `NonNull::new(…).ok_or(AllocErr)` feels short enough
for the few cases that need the other conversion.

src/liballoc/alloc.rs
src/liballoc_system/lib.rs
src/libcore/alloc.rs

index af48aa7961e061fbe11b9cca81982a77dacc0a94..031babe5f6d1a983bd03c09890e14c85a29d6e04 100644 (file)
@@ -122,7 +122,7 @@ fn oom(&self) -> ! {
 unsafe impl Alloc for Global {
     #[inline]
     unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc(self, layout).into()
+        NonNull::new(GlobalAlloc::alloc(self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
@@ -137,12 +137,12 @@ unsafe fn realloc(&mut self,
                       new_size: usize)
                       -> Result<NonNull<Void>, AllocErr>
     {
-        GlobalAlloc::realloc(self, ptr.as_ptr(), layout, new_size).into()
+        NonNull::new(GlobalAlloc::realloc(self, ptr.as_ptr(), layout, new_size)).ok_or(AllocErr)
     }
 
     #[inline]
     unsafe fn alloc_zeroed(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc_zeroed(self, layout).into()
+        NonNull::new(GlobalAlloc::alloc_zeroed(self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
index bf27e972177cea5d639dab3fb16ddd0fa6731af3..7fea6061169c6dc3586bc582a43abc40af44d72a 100644 (file)
 unsafe impl Alloc for System {
     #[inline]
     unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc(self, layout).into()
+        NonNull::new(GlobalAlloc::alloc(self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
     unsafe fn alloc_zeroed(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc_zeroed(self, layout).into()
+        NonNull::new(GlobalAlloc::alloc_zeroed(self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
@@ -67,9 +67,9 @@ unsafe fn dealloc(&mut self, ptr: NonNull<Void>, layout: Layout) {
     #[inline]
     unsafe fn realloc(&mut self,
                       ptr: NonNull<Void>,
-                      old_layout: Layout,
+                      layout: Layout,
                       new_size: usize) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::realloc(self, ptr.as_ptr(), old_layout, new_size).into()
+        NonNull::new(GlobalAlloc::realloc(self, ptr.as_ptr(), layout, new_size)).ok_or(AllocErr)
     }
 
     #[inline]
@@ -83,12 +83,12 @@ fn oom(&mut self) -> ! {
 unsafe impl<'a> Alloc for &'a System {
     #[inline]
     unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc(*self, layout).into()
+        NonNull::new(GlobalAlloc::alloc(*self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
     unsafe fn alloc_zeroed(&mut self, layout: Layout) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::alloc_zeroed(*self, layout).into()
+        NonNull::new(GlobalAlloc::alloc_zeroed(*self, layout)).ok_or(AllocErr)
     }
 
     #[inline]
@@ -99,9 +99,9 @@ unsafe fn dealloc(&mut self, ptr: NonNull<Void>, layout: Layout) {
     #[inline]
     unsafe fn realloc(&mut self,
                       ptr: NonNull<Void>,
-                      old_layout: Layout,
+                      layout: Layout,
                       new_size: usize) -> Result<NonNull<Void>, AllocErr> {
-        GlobalAlloc::realloc(*self, ptr.as_ptr(), old_layout, new_size).into()
+        NonNull::new(GlobalAlloc::realloc(*self, ptr.as_ptr(), layout, new_size)).ok_or(AllocErr)
     }
 
     #[inline]
index 632eed960492c316423b06f8e5478a546146bd6a..97a49703bafd950e2be9a5585baddc67638b28a8 100644 (file)
@@ -41,23 +41,6 @@ pub fn null_mut() -> *mut Self {
     }
 }
 
-/// Convert from a return value of GlobalAlloc::alloc to that of Alloc::alloc
-impl From<*mut Void> for Result<NonNull<Void>, AllocErr> {
-    fn from(ptr: *mut Void) -> Self {
-        NonNull::new(ptr).ok_or(AllocErr)
-    }
-}
-
-/// Convert from a return value of Alloc::alloc to that of GlobalAlloc::alloc
-impl From<Result<NonNull<Void>, AllocErr>> for *mut Void {
-    fn from(result: Result<NonNull<Void>, AllocErr>) -> Self {
-        match result {
-            Ok(ptr) => ptr.as_ptr(),
-            Err(_) => Void::null_mut(),
-        }
-    }
-}
-
 /// Represents the combination of a starting address and
 /// a total capacity of the returned block.
 #[derive(Debug)]