-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Refactor iter adapters with less macros #98430
Conversation
Hey! It looks like you've submitted a new PR for the library teams! If this PR contains changes to any Examples of
|
(rust-highfive has picked a reviewer for you, use r? to override) |
Looks like a win to me. @bors r+ |
📌 Commit 6587dda has been approved by |
@bors try @rust-timer queue (Just to check that the closures don't make things worse, and that we don't need to do something like #62429) |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
🙅 Please do not |
Rollup of 9 pull requests Successful merges: - rust-lang#97346 (Remove a back-compat hack on lazy TAIT) - rust-lang#98261 (Remove `MAX_SUGGESTION_HIGHLIGHT_LINES`) - rust-lang#98337 ([RFC 2011] Optimize non-consuming operators) - rust-lang#98384 (Fix RSS reporting on macOS) - rust-lang#98420 (translation: lint fix + more migration) - rust-lang#98430 (Refactor iter adapters with less macros) - rust-lang#98555 (Hermit: Fix initializing lazy locks) - rust-lang#98595 (Implement `Send` and `Sync` for `ThinBox<T>`) - rust-lang#98597 (Remove unstable CStr/CString change from 1.62 release note) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Just some code cleanup. Introduced a util
and_then_or_clear
for each of chain, flatten and fuse iter adapter impls. This reduces code nicely for flatten, but admittedly the other modules are more of a lateral move replacing macros with a function. But I think consistency across the modules and avoiding macros when possible is good.