diff options
| author | djzin <noreply@github.com> | 2016-12-23 23:51:00 +0000 |
|---|---|---|
| committer | djzin <noreply@github.com> | 2017-01-14 16:51:50 +0000 |
| commit | 18f1b1fce4a57f35dc7f436f4c86158b61bb4482 (patch) | |
| tree | db22198ee4f3a4fae0e1f5e955aa88808ffb21d7 | |
| parent | 3711d2f9029126bfc5410fc273ff9f9f66d6e0a5 (diff) | |
| download | rust-18f1b1fce4a57f35dc7f436f4c86158b61bb4482.tar.gz rust-18f1b1fce4a57f35dc7f436f4c86158b61bb4482.zip | |
change argument for btree_range
| -rw-r--r-- | src/libcollections/btree/map.rs | 10 | ||||
| -rw-r--r-- | src/libcollections/btree/set.rs | 11 |
2 files changed, 9 insertions, 12 deletions
diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index 85e1e133b7d..e588c99d169 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -18,6 +18,7 @@ use core::{fmt, intrinsics, mem, ptr}; use borrow::Borrow; use Bound::{self, Excluded, Included, Unbounded}; +use range::RangeArgument; use super::node::{self, Handle, NodeRef, marker}; use super::search; @@ -681,12 +682,11 @@ impl<K: Ord, V> BTreeMap<K, V> { #[unstable(feature = "btree_range", reason = "matches collection reform specification, waiting for dust to settle", issue = "27787")] - pub fn range<Min: ?Sized + Ord, Max: ?Sized + Ord>(&self, - min: Bound<&Min>, - max: Bound<&Max>) - -> Range<K, V> - where K: Borrow<Min> + Borrow<Max> + pub fn range<T: ?Sized, R>(&self, range: R) -> Range<K, V> + where T: Ord, K: Borrow<T>, R: RangeArgument<T> { + let min = range.start(); + let max = range.end(); let front = match min { Included(key) => { match search::search_tree(self.root.as_ref(), key) { diff --git a/src/libcollections/btree/set.rs b/src/libcollections/btree/set.rs index 34674e3a0bd..f941b40dcf7 100644 --- a/src/libcollections/btree/set.rs +++ b/src/libcollections/btree/set.rs @@ -21,7 +21,7 @@ use core::ops::{BitOr, BitAnd, BitXor, Sub}; use borrow::Borrow; use btree_map::{BTreeMap, Keys}; use super::Recover; -use Bound; +use range::RangeArgument; // FIXME(conventions): implement bounded iterators @@ -232,13 +232,10 @@ impl<T: Ord> BTreeSet<T> { #[unstable(feature = "btree_range", reason = "matches collection reform specification, waiting for dust to settle", issue = "27787")] - pub fn range<'a, Min: ?Sized + Ord, Max: ?Sized + Ord>(&'a self, - min: Bound<&Min>, - max: Bound<&Max>) - -> Range<'a, T> - where T: Borrow<Min> + Borrow<Max> + pub fn range<K: ?Sized, R>(&self, range: R) -> Range<T> + where K: Ord, T: Borrow<K>, R: RangeArgument<K> { - Range { iter: self.map.range(min, max) } + Range { iter: self.map.range(range) } } } |
