From 16c8cd931cd5ccc9c73b87cac488938556018019 Mon Sep 17 00:00:00 2001 From: gamazeps Date: Sat, 8 Nov 2014 01:39:39 +0100 Subject: Renamed Extendable to Extend In order to upgrade, simply rename the Extendable trait to Extend in your code Part of #18424 [breaking-change] --- src/libstd/collections/hash/map.rs | 4 ++-- src/libstd/collections/hash/set.rs | 4 ++-- src/libstd/io/fs.rs | 2 +- src/libstd/path/posix.rs | 2 +- src/libstd/path/windows.rs | 2 +- src/libstd/prelude.rs | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index e164128eeb1..f55ce9ba462 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -15,7 +15,7 @@ use cmp::{max, Eq, Equiv, PartialEq}; use default::Default; use fmt::{mod, Show}; use hash::{Hash, Hasher, RandomSipHasher}; -use iter::{mod, Iterator, FromIterator, Extendable}; +use iter::{mod, Iterator, FromIterator, Extend}; use kinds::Sized; use mem::{mod, replace}; use num; @@ -1449,7 +1449,7 @@ impl, V, S, H: Hasher + Default> FromIterator<(K, V)> for Has } } -impl, V, S, H: Hasher + Default> Extendable<(K, V)> for HashMap { +impl, V, S, H: Hasher + Default> Extend<(K, V)> for HashMap { fn extend>(&mut self, mut iter: T) { for (k, v) in iter { self.insert(k, v); diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index 58386882ac5..4326fae16fc 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -16,7 +16,7 @@ use default::Default; use fmt::Show; use fmt; use hash::{Hash, Hasher, RandomSipHasher}; -use iter::{Iterator, FromIterator, FilterMap, Chain, Repeat, Zip, Extendable}; +use iter::{Iterator, FromIterator, FilterMap, Chain, Repeat, Zip, Extend}; use iter; use option::{Some, None}; use result::{Ok, Err}; @@ -574,7 +574,7 @@ impl, S, H: Hasher + Default> FromIterator for HashSet, S, H: Hasher + Default> Extendable for HashSet { +impl, S, H: Hasher + Default> Extend for HashSet { fn extend>(&mut self, mut iter: I) { for k in iter { self.insert(k); diff --git a/src/libstd/io/fs.rs b/src/libstd/io/fs.rs index c95d2c3f328..e76046bac05 100644 --- a/src/libstd/io/fs.rs +++ b/src/libstd/io/fs.rs @@ -60,7 +60,7 @@ use io::{IoResult, IoError, FileStat, SeekStyle, Seek, Writer, Reader}; use io::{Read, Truncate, SeekCur, SeekSet, ReadWrite, SeekEnd, Append}; use io::UpdateIoError; use io; -use iter::{Iterator, Extendable}; +use iter::{Iterator, Extend}; use kinds::Send; use libc; use option::{Some, None, Option}; diff --git a/src/libstd/path/posix.rs b/src/libstd/path/posix.rs index a927e091840..9918e939097 100644 --- a/src/libstd/path/posix.rs +++ b/src/libstd/path/posix.rs @@ -16,7 +16,7 @@ use cmp::{PartialEq, Eq, PartialOrd, Ord, Ordering}; use from_str::FromStr; use hash; use io::Writer; -use iter::{DoubleEndedIterator, AdditiveIterator, Extendable, Iterator, Map}; +use iter::{DoubleEndedIterator, AdditiveIterator, Extend, Iterator, Map}; use option::{Option, None, Some}; use str::Str; use str; diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index c5f84244928..3a5350f0a29 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -19,7 +19,7 @@ use cmp::{PartialEq, Eq, PartialOrd, Ord, Ordering}; use from_str::FromStr; use hash; use io::Writer; -use iter::{AdditiveIterator, DoubleEndedIterator, Extendable, Iterator, Map}; +use iter::{AdditiveIterator, DoubleEndedIterator, Extend, Iterator, Map}; use mem; use option::{Option, Some, None}; use slice::{AsSlice, SlicePrelude}; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index 449d3a14bc9..f1090e75127 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -63,7 +63,7 @@ #[doc(no_inline)] pub use clone::Clone; #[doc(no_inline)] pub use cmp::{PartialEq, PartialOrd, Eq, Ord}; #[doc(no_inline)] pub use cmp::{Ordering, Less, Equal, Greater, Equiv}; -#[doc(no_inline)] pub use iter::{FromIterator, Extendable, ExactSize}; +#[doc(no_inline)] pub use iter::{FromIterator, Extend, ExactSize}; #[doc(no_inline)] pub use iter::{Iterator, DoubleEndedIterator}; #[doc(no_inline)] pub use iter::{RandomAccessIterator, CloneableIterator}; #[doc(no_inline)] pub use iter::{OrdIterator, MutableDoubleEndedIterator}; -- cgit 1.4.1-3-g733a5 From a11f16739f08ec480263ba549d510fffc8ce557e Mon Sep 17 00:00:00 2001 From: gamazeps Date: Sat, 8 Nov 2014 01:40:20 +0100 Subject: Implements Extend for EnumSet and LruCache Part of #18424 --- src/libcollections/enum_set.rs | 16 ++++++++++++++++ src/libstd/collections/lru_cache.rs | 11 ++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'src/libstd') diff --git a/src/libcollections/enum_set.rs b/src/libcollections/enum_set.rs index 1acdaef9c91..7d2d298ee87 100644 --- a/src/libcollections/enum_set.rs +++ b/src/libcollections/enum_set.rs @@ -230,6 +230,22 @@ impl Iterator for Items { } } +impl FromIterator for EnumSet { + fn from_iter>(iterator: I) -> EnumSet { + let mut ret = EnumSet::new(); + ret.extend(iterator); + ret + } +} + +impl Extend for EnumSet { + fn extend>(&mut self, mut iterator: I) { + for element in iterator { + self.insert(element); + } + } +} + #[cfg(test)] mod test { use std::prelude::*; diff --git a/src/libstd/collections/lru_cache.rs b/src/libstd/collections/lru_cache.rs index aab0924e7e4..94bea37d187 100644 --- a/src/libstd/collections/lru_cache.rs +++ b/src/libstd/collections/lru_cache.rs @@ -41,7 +41,7 @@ use cmp::{PartialEq, Eq}; use collections::HashMap; use fmt; use hash::Hash; -use iter::{range, Iterator}; +use iter::{range, Iterator, Extend}; use mem; use ops::Drop; use option::{Some, None, Option}; @@ -329,6 +329,15 @@ impl LruCache { /// Clear the cache of all key-value pairs. #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn clear(&mut self) { self.map.clear(); } + +} + +impl Extend<(K, V)> for LruCache { + fn extend>(&mut self, mut iter: T) { + for (k, v) in iter{ + self.insert(k, v); + } + } } impl fmt::Show for LruCache { -- cgit 1.4.1-3-g733a5