]> git.lizzy.rs Git - rust.git/commitdiff
Fix FIXME #3511 in Dlist code
authorPiotr Jawniak <sawyer47@gmail.com>
Sun, 25 May 2014 09:41:20 +0000 (11:41 +0200)
committerPiotr Jawniak <sawyer47@gmail.com>
Sun, 25 May 2014 09:41:20 +0000 (11:41 +0200)
Issue #3511 was closed, but dlist.rs contained a FIXME for it.

src/libcollections/dlist.rs

index c5fa8286f7db3c1cffdd489bd45d02e9f32d12a6..8072ee02bc0121ffd49d95131f94d580cd267fcc 100644 (file)
@@ -220,16 +220,13 @@ fn front_mut<'a>(&'a mut self) -> Option<&'a mut T> {
     /// Provide a reference to the back element, or None if the list is empty
     #[inline]
     fn back<'a>(&'a self) -> Option<&'a T> {
-        let tmp = self.list_tail.resolve_immut(); // FIXME: #3511: shouldn't need variable
-        tmp.as_ref().map(|tail| &tail.value)
+        self.list_tail.resolve_immut().as_ref().map(|tail| &tail.value)
     }
 
     /// Provide a mutable reference to the back element, or None if the list is empty
     #[inline]
     fn back_mut<'a>(&'a mut self) -> Option<&'a mut T> {
-        let tmp: Option<&'a mut Node<T>> =
-            self.list_tail.resolve(); // FIXME: #3511: shouldn't need variable
-        tmp.map(|tail| &mut tail.value)
+        self.list_tail.resolve().map(|tail| &mut tail.value)
     }
 
     /// Add an element first in the list
@@ -449,8 +446,7 @@ fn next_back(&mut self) -> Option<&'a A> {
         if self.nelem == 0 {
             return None;
         }
-        let tmp = self.tail.resolve_immut(); // FIXME: #3511: shouldn't need variable
-        tmp.as_ref().map(|prev| {
+        self.tail.resolve_immut().as_ref().map(|prev| {
             self.nelem -= 1;
             self.tail = prev.prev;
             &prev.value