From 49be63d9b8e40546644207ffc7e69a2d559ff39c Mon Sep 17 00:00:00 2001 From: bluss Date: Wed, 17 Feb 2016 23:08:46 +0100 Subject: [PATCH] arrayvec: Reorder method pop --- src/lib.rs | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index d627f9a..9fd9886 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -155,31 +155,6 @@ impl ArrayVec { } } - /// Remove the last element in the vector. - /// - /// Return `Some(` *element* `)` if the vector is non-empty, else `None`. - /// - /// ``` - /// use arrayvec::ArrayVec; - /// - /// let mut array = ArrayVec::<[_; 2]>::new(); - /// - /// array.push(1); - /// - /// assert_eq!(array.pop(), Some(1)); - /// assert_eq!(array.pop(), None); - /// ``` - pub fn pop(&mut self) -> Option { - if self.len() == 0 { - return None - } - unsafe { - let new_len = self.len() - 1; - self.set_len(new_len); - Some(ptr::read(self.get_unchecked_mut(new_len))) - } - } - /// Insert `element` in position `index`. /// /// Shift up all elements after `index`. If any is pushed out, it is returned. @@ -225,6 +200,31 @@ impl ArrayVec { ret } + /// Remove the last element in the vector. + /// + /// Return `Some(` *element* `)` if the vector is non-empty, else `None`. + /// + /// ``` + /// use arrayvec::ArrayVec; + /// + /// let mut array = ArrayVec::<[_; 2]>::new(); + /// + /// array.push(1); + /// + /// assert_eq!(array.pop(), Some(1)); + /// assert_eq!(array.pop(), None); + /// ``` + pub fn pop(&mut self) -> Option { + if self.len() == 0 { + return None + } + unsafe { + let new_len = self.len() - 1; + self.set_len(new_len); + Some(ptr::read(self.get_unchecked_mut(new_len))) + } + } + /// Remove the element at `index` and swap the last element into its place. /// /// This operation is O(1).