Skip to content

add Iterator::dedup and friends - #145733

Open
Qelxiros wants to merge 1 commit into
rust-lang:mainfrom
Qelxiros:iter-dedup
Open

Qelxiros wants to merge 1 commit into
rust-lang:mainfrom
Qelxiros:iter-dedup

Conversation

@Qelxiros

@Qelxiros Qelxiros commented Aug 22, 2025 •

Copy link
Copy Markdown
Contributor

Tracking issue: #83747

@rustbot

rustbot commented Aug 22, 2025

Copy link
Copy Markdown
Collaborator

r? @ibraheemdev

rustbot has assigned @ibraheemdev.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 22, 2025
@rust-log-analyzer

This comment has been minimized.

@rustbot

rustbot commented Aug 22, 2025

Copy link
Copy Markdown
Collaborator

Some changes occurred in compiler/rustc_codegen_ssa

cc @WaffleLapkin

@ibraheemdev

Copy link
Copy Markdown
Member

r? libs-api

@rustbot rustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Aug 22, 2025
@rustbot rustbot assigned dtolnay and unassigned ibraheemdev Aug 22, 2025
@rust-log-analyzer

This comment has been minimized.

@dtolnay dtolnay left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

I expect that this is going to be blocked on compiler work (#89151) for the same reason as this other pending Iterator method: #141994.

View changes since this review

@rustbot rustbot added the T-clippy Relevant to the Clippy team. label Aug 22, 2025
@rustbot

rustbot commented Aug 22, 2025

Copy link
Copy Markdown
Collaborator

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

@rust-log-analyzer

This comment has been minimized.

@dtolnay dtolnay added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 22, 2025
@Qelxiros

Copy link
Copy Markdown
Contributor Author

@dtolnay That's my expectation as well. Should I continue to fix the failing checks, or will that work become obsolete when #89151 is resolved?

@dtolnay

dtolnay commented Sep 17, 2025

Copy link
Copy Markdown
Member

That's right, compiler improvements are supposed to make those errors no longer occur.

@rust-bors

This comment has been minimized.

@rustbot

rustbot commented Jan 17, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job pr-check-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
REPOSITORY                                   TAG       IMAGE ID       CREATED      SIZE
ghcr.io/dependabot/dependabot-updater-core   latest    63ba4a2ff346   9 days ago   775MB
=> Removing docker images...
Deleted Images:
untagged: ghcr.io/dependabot/dependabot-updater-core:latest
untagged: ghcr.io/dependabot/dependabot-updater-core@sha256:830c840ea4b8c27b6919bdd47c017030adeb538f226e1cdfd386490a622b9218
deleted: sha256:63ba4a2ff3467a98ac6c8610fece2cdc9893e2af6c18111e57618f8949749b82
deleted: sha256:77617fa265a7311b1c0502e01ff6157d25228d91f6cddc21d7901eb440d0adee
deleted: sha256:0bd8abdbb1f7c0453b4bc76cce6ecf0a3b9e4b5d0c8ceeb63652e91a63cab4a1
deleted: sha256:4e9913397e051a70593edc1662de159778ce1bf65132295639da0e119913b53f
deleted: sha256:3e54edb2fef4b1c1393a2928bfa1017c22cc578f5f3eef677580662e8d2e79ea
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
    = help: call with fully qualified syntax `itertools::Itertools::dedup(...)` to keep using the current method
    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
help: add `#![feature(iter_dedup)]` to the crate attributes to enable `std::iter::Iterator::dedup`
   --> src/tools/rust-analyzer/crates/hir-def/src/lib.rs:12:1
    |
 12 + #![feature(iter_dedup)]
    |

warning: a method with this name may be added to the standard library in the future
   --> src/tools/rust-analyzer/crates/hir-def/src/item_scope.rs:259:14
    |
259 |             .dedup()
    |              ^^^^^
    |
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
    = help: call with fully qualified syntax `itertools::Itertools::dedup(...)` to keep using the current method
help: add `#![feature(iter_dedup)]` to the crate attributes to enable `std::iter::Iterator::dedup`
   --> src/tools/rust-analyzer/crates/hir-def/src/lib.rs:12:1
    |
 12 + #![feature(iter_dedup)]
    |

[RUSTC-TIMING] typed_arena test:false 0.148
    Checking test-fixture v0.0.0 (/checkout/src/tools/rust-analyzer/crates/test-fixture)
[RUSTC-TIMING] test_fixture test:false 0.877
---
    Checking ra-ap-rustc_next_trait_solver v0.143.0
warning: a method with this name may be added to the standard library in the future
   --> src/tools/rust-analyzer/crates/hir-def/src/import_map.rs:105:14
    |
105 |             .dedup_by(|&(_, (_, lhs, _)), &(_, (_, rhs, _))| lhs.eq_ignore_ascii_case(rhs));
    |              ^^^^^^^^
    |
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
    = help: call with fully qualified syntax `itertools::Itertools::dedup_by(...)` to keep using the current method
help: add `#![feature(iter_dedup)]` to the crate attributes to enable `std::iter::Iterator::dedup_by`
   --> src/tools/rust-analyzer/crates/hir-def/src/lib.rs:12:1
    |
 12 + #![feature(iter_dedup)]
    |

[RUSTC-TIMING] yoke_derive test:false 3.061
    Checking yoke v0.8.0
[RUSTC-TIMING] yoke test:false 0.340
---
[RUSTC-TIMING] xshell test:false 0.425
warning: a method with this name may be added to the standard library in the future
   --> src/tools/rust-analyzer/crates/ide-db/src/text_edit.rs:128:34
    |
128 |         self.indels = iter_merge.dedup_by(|a, b| a == b && !a.delete.is_empty()).cloned().collect();
    |                                  ^^^^^^^^
    |
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
    = help: call with fully qualified syntax `itertools::Itertools::dedup_by(...)` to keep using the current method
    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
help: add `#![feature(iter_dedup)]` to the crate attributes to enable `std::iter::Iterator::dedup_by`
   --> src/tools/rust-analyzer/crates/ide-db/src/lib.rs:7:1
    |
  7 + #![feature(iter_dedup)]
    |

[RUSTC-TIMING] criterion_plot test:false 0.660
    Checking bit-set v0.8.0
[RUSTC-TIMING] proc_macro2 test:false 0.855
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
    = help: call with fully qualified syntax `itertools::Itertools::dedup(...)` to keep using the current method
    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
help: add `#![feature(iter_dedup)]` to the crate attributes to enable `std::iter::Iterator::dedup`
   --> src/tools/rust-analyzer/xtask/src/main.rs:19:1
    |
 19 + #![feature(iter_dedup)]
    |

[RUSTC-TIMING] xtask test:true 3.070
warning: `xtask` (bin "xtask" test) generated 1 warning
[RUSTC-TIMING] xtask test:false 3.002
warning: `xtask` (bin "xtask") generated 1 warning (1 duplicate)
[RUSTC-TIMING] rust_analyzer_proc_macro_srv test:false 0.540
[RUSTC-TIMING] bench test:false 0.216
[RUSTC-TIMING] tidy test:true 0.084

@rust-bors

rust-bors Bot commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #152862) made this pull request unmergeable. Please resolve the merge conflicts.

@clarfonthey clarfonthey removed the T-libs-api [DEPRECATED; DO NOT USE] label Aug 12, 2026
@clarfonthey

Copy link
Copy Markdown
Contributor

r? libs

@rustbot rustbot assigned JohnTitor and unassigned dtolnay Sep 22, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-clippy Relevant to the Clippy team. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants