]> git.lizzy.rs Git - rust.git/commitdiff
use rangeargument for range_mut
authordjzin <noreply@github.com>
Sat, 24 Dec 2016 23:10:00 +0000 (23:10 +0000)
committerdjzin <noreply@github.com>
Sat, 14 Jan 2017 16:51:51 +0000 (16:51 +0000)
src/libcollections/btree/map.rs

index 544053096fec5560e84e7d8eb6a343309462fa75..87465190a690cf31d531c4a8a4c49803a272e50a 100644 (file)
@@ -17,7 +17,7 @@
 use core::{fmt, intrinsics, mem, ptr};
 
 use borrow::Borrow;
-use Bound::{self, Excluded, Included, Unbounded};
+use Bound::{Excluded, Included, Unbounded};
 use range::RangeArgument;
 
 use super::node::{self, Handle, NodeRef, marker};
@@ -763,7 +763,7 @@ pub fn range<T: ?Sized, R>(&self, range: R) -> Range<K, V>
     /// let mut map: BTreeMap<&str, i32> = ["Alice", "Bob", "Carol", "Cheryl"].iter()
     ///                                                                       .map(|&s| (s, 0))
     ///                                                                       .collect();
-    /// for (_, balance) in map.range_mut(Included("B"), Excluded("Cheryl")) {
+    /// for (_, balance) in map.range_mut((Included("B"), Excluded("Cheryl"))) {
     ///     *balance += 100;
     /// }
     /// for (name, balance) in &map {
@@ -773,12 +773,11 @@ pub fn range<T: ?Sized, R>(&self, range: R) -> Range<K, V>
     #[unstable(feature = "btree_range",
                reason = "matches collection reform specification, waiting for dust to settle",
                issue = "27787")]
-    pub fn range_mut<Min: ?Sized + Ord, Max: ?Sized + Ord>(&mut self,
-                                                           min: Bound<&Min>,
-                                                           max: Bound<&Max>)
-                                                           -> RangeMut<K, V>
-        where K: Borrow<Min> + Borrow<Max>
+    pub fn range_mut<T: ?Sized, R>(&mut self, range: R) -> RangeMut<K, V>
+        where T: Ord, K: Borrow<T>, R: RangeArgument<T>
     {
+        let min = range.start();
+        let max = range.end();
         let root1 = self.root.as_mut();
         let root2 = unsafe { ptr::read(&root1) };