aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/util/str.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/components/util/str.rs b/components/util/str.rs
index 606933d7033..c3af9a26bbc 100644
--- a/components/util/str.rs
+++ b/components/util/str.rs
@@ -326,8 +326,10 @@ pub unsafe fn c_str_to_string(s: *const c_char) -> String {
from_utf8(CStr::from_ptr(s).to_bytes()).unwrap().to_owned()
}
-pub fn str_join<T: AsRef<str>>(strs: &[T], join: &str) -> String {
- strs.iter().fold(String::new(), |mut acc, s| {
+pub fn str_join<I, T>(strs: I, join: &str) -> String
+ where I: IntoIterator<Item=T>, T: AsRef<str>,
+{
+ strs.into_iter().fold(String::new(), |mut acc, s| {
if !acc.is_empty() { acc.push_str(join); }
acc.push_str(s.as_ref());
acc