about summary refs log tree commit diff
diff options
context:
space:
mode:
authorljedrz <ljedrz@gmail.com>2018-11-30 16:38:30 +0100
committerljedrz <ljedrz@gmail.com>2018-12-02 08:18:46 +0100
commit95f32f1ebddae26ac6610040ea93ea3de440089a (patch)
tree55aabab5b05b5f9bce5aee9ecc439b345c1c1dad
parentca0806c70320093a37dbe52ba2442d1e047c9c8d (diff)
downloadrust-95f32f1ebddae26ac6610040ea93ea3de440089a.tar.gz
rust-95f32f1ebddae26ac6610040ea93ea3de440089a.zip
arena: improve common patterns
-rw-r--r--src/libarena/lib.rs9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs
index ed83eddc479..e926a886d63 100644
--- a/src/libarena/lib.rs
+++ b/src/libarena/lib.rs
@@ -310,13 +310,8 @@ impl Default for DroplessArena {
 impl DroplessArena {
     pub fn in_arena<T: ?Sized>(&self, ptr: *const T) -> bool {
         let ptr = ptr as *const u8 as *mut u8;
-        for chunk in &*self.chunks.borrow() {
-            if chunk.start() <= ptr && ptr < chunk.end() {
-                return true;
-            }
-        }
 
-        false
+        self.chunks.borrow().iter().any(|chunk| chunk.start() <= ptr && ptr < chunk.end())
     }
 
     fn align(&self, align: usize) {
@@ -408,7 +403,7 @@ impl DroplessArena {
     {
         assert!(!mem::needs_drop::<T>());
         assert!(mem::size_of::<T>() != 0);
-        assert!(slice.len() != 0);
+        assert!(!slice.is_empty());
 
         let mem = self.alloc_raw(
             slice.len() * mem::size_of::<T>(),