-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Refactor iter adapters with less macros #98430
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
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.