Skip to content

Replacing redundant internal iterators with external ones, part 1 #6995

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
wants to merge 3 commits into from

Conversation

huonw
Copy link
Member

@huonw huonw commented Jun 7, 2013

This kills the each2, each2_mut, each_mut and eachi_mut functions in std::vec and replaces them with the appropriate std::iterator incantation.

(The each_mut etc methods from old_iter are left untouched, so far.)

@thestinger
Copy link
Contributor

Attempted to land as #6999 instead. Needs a workaround for issue #5898.

@thestinger thestinger closed this Jun 7, 2013
bors added a commit that referenced this pull request Jun 8, 2013
bors added a commit that referenced this pull request Jun 10, 2013
Continuation of #7015, and #6995.

Rewrites the character-based `each_split` functions in `str` to use an iterator, removes a few redundant methods, and replaces all uses of `len`, `is_empty` and `slice` functions with the methods (and deletes the the functions).

Update: Ok, this has turned into a major makeover for `str`, turning a lot of functions into methods, and removing redundant ones. Each commit is essentially a single such change.

(Unscientific benchmarks suggest that the external `split_iter` is approximately 10% faster than the internal one. I'm not quite sure why this would be true.)

(@thestinger is probably interested in this.)
flip1995 pushed a commit to flip1995/rust that referenced this pull request Jan 13, 2022
Closes: rust-lang#6995

Signed-off-by: Federico Guerinoni <guerinoni.federico@gmail.com>
Co-authored-by: Paolo Barbolini <paolo@paolo565.org>
flip1995 pushed a commit to flip1995/rust that referenced this pull request Jan 13, 2022
Add borrow_as_ptr lint

Closes: rust-lang#6995

- \[x] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`

---

changelog: new lint: [`borrow_as_ptr`]
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants