diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-22 01:35:39 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-23 04:54:26 +0530 |
| commit | a91eece96b1c945bebb01a7e906dabc2d736a131 (patch) | |
| tree | 5af8af886a8181ce78161da1b4cafda7277038e3 /src/libcollections | |
| parent | b0aad7dd4fad8d7e2e2f877a511a637258949597 (diff) | |
| parent | 5fe0bb743a0af0413f8989a70a4f926fa5c63074 (diff) | |
| download | rust-a91eece96b1c945bebb01a7e906dabc2d736a131.tar.gz rust-a91eece96b1c945bebb01a7e906dabc2d736a131.zip | |
Rollup merge of #23559 - aturon:future-proof-map-index, r=Gankro
This commit removes the `IndexMut` impls on `HashMap` and `BTreeMap`, in order to future-proof the API against the eventual inclusion of an `IndexSet` trait. Ideally, we would eventually be able to support: ```rust map[owned_key] = val; map[borrowed_key].mutating_method(arguments); &mut map[borrowed_key]; ``` but to keep the design space as unconstrained as possible, we do not currently want to support `IndexMut`, in case some other strategy will eventually be needed. Code currently using mutating index notation can use `get_mut` instead. [breaking-change] Closes #23448 r? @Gankro
Diffstat (limited to 'src/libcollections')
| -rw-r--r-- | src/libcollections/btree/map.rs | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index c7e1e3c9176..a9e1ce8d7ce 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -24,7 +24,7 @@ use core::default::Default; use core::fmt::Debug; use core::hash::{Hash, Hasher}; use core::iter::{Map, FromIterator, IntoIterator}; -use core::ops::{Index, IndexMut}; +use core::ops::{Index}; use core::{iter, fmt, mem, usize}; use Bound::{self, Included, Excluded, Unbounded}; @@ -925,15 +925,6 @@ impl<K: Ord, Q: ?Sized, V> Index<Q> for BTreeMap<K, V> } } -#[stable(feature = "rust1", since = "1.0.0")] -impl<K: Ord, Q: ?Sized, V> IndexMut<Q> for BTreeMap<K, V> - where K: Borrow<Q>, Q: Ord -{ - fn index_mut(&mut self, key: &Q) -> &mut V { - self.get_mut(key).expect("no entry found for key") - } -} - /// Genericises over how to get the correct type of iterator from the correct type /// of Node ownership. trait Traverse<N> { |
