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>(strs: &[T], join: &str) -> String { - strs.iter().fold(String::new(), |mut acc, s| { +pub fn str_join(strs: I, join: &str) -> String + where I: IntoIterator, T: AsRef, +{ + strs.into_iter().fold(String::new(), |mut acc, s| { if !acc.is_empty() { acc.push_str(join); } acc.push_str(s.as_ref()); acc