You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
auto merge of #10622 : Kimundi/rust/str_de_iter, r=alexcrichton
This PR removes almost all `_iter` suffixes in various APIs of the codebase that return Iterators, as discussed in #9440.
As a summarize for the intend behind this PR:
- Iterators are the recommended way to provide a potentially lazy list of values, no need to name them painfully verbose. If anything, functions that return a specific container type should have more verbose names.
- We have a static type system, so no need to encode the return value of a constructor function into its name.
Following is a possibly incomplete list of all renamings I performed in the codebase. For a few of them I'm a bit unsure whether the new name still properly expresses their functionality, so feedback would be welcome:
~~~
&str : word_iter() -> words()
line_iter() -> lines()
any_line_iter() -> lines_any()
iter() -> chars()
char_offset_iter() -> char_indices()
byte_iter() -> bytes()
split_iter() -> split()
splitn_iter() -> splitn()
split_str_iter() -> split_str()
split_terminator_iter() -> split_terminator()
matches_index_iter() -> match_indices()
nfd_iter() -> nfd_chars()
nfkd_iter() -> nfkd_chars()
&[T] : split_iter() -> split()
splitn_iter() -> splitn()
window_iter() -> windows()
chunk_iter() -> chunks()
permutations_iter() -> permutations()
extra:bitv::Bitv : rev_liter() -> rev_iter()
common_iter() -> commons()
outlier_iter() -> outliers()
extra::treemap::{...} : lower_bound_iter() -> lower_bound()
upper_bound_iter() -> upper_bound()
std::trie::{...} : bound_iter() -> bound()
lower_bound_iter() -> lower_bound()
upper_bound_iter() -> upper_bound()
rustpkg::package_id::{...} : prefixes_iter() -> prefixes()
std::hashmap::{...} : difference_iter() -> difference()
symmetric_difference_iter() -> symmetric_difference()
intersection_iter() -> intersection()
union_iter() -> union()
std::path::{posix, windows} : component_iter() -> components()
str_component_iter() -> str_components()
... not showing all identical renamings for reverse versions
~~~
---
I'm also planning a few more changes, like removing all unnecessary `_rev` constructors (#9391), or reducing the `split` variants on `&str` to a more versatile and concise system.
0 commit comments