Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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`]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants