-
Notifications
You must be signed in to change notification settings - Fork 14.1k
implement Iterator::{exactly_one, collect_array}
#149270
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
Conversation
|
rustbot has assigned @Mark-Simulacrum. Use |
|
Implementing |
This comment has been minimized.
This comment has been minimized.
050e278 to
1e50c8a
Compare
This comment has been minimized.
This comment has been minimized.
1e50c8a to
6b0bbcc
Compare
This comment has been minimized.
This comment has been minimized.
6b0bbcc to
710c1d4
Compare
|
As you can see from the 2nd commit and the CI failures, since exactly_one conflicts with itertools we get some FCWs. How do we usually deal with those? I doubt this is the first iterator method that also already existed in itertools. |
This comment has been minimized.
This comment has been minimized.
710c1d4 to
5e40f3f
Compare
|
Some changes occurred in src/tools/clippy cc @rust-lang/clippy rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer |
This comment has been minimized.
This comment has been minimized.
5e40f3f to
d65444f
Compare
d65444f to
f201752
Compare
This should be resolved by supertrait item shadowing, which already has a stabilization PR 🎉. This was transitively mentioned in a comment by Amanieu on my older ACP for |
|
yup, already talked to some peeps about it. Thanks! |
|
@bors r+ |
…on, r=Mark-Simulacrum
implement `Iterator::{exactly_one, collect_array}`
As per rust-lang#149266
…on, r=Mark-Simulacrum
implement `Iterator::{exactly_one, collect_array}`
As per rust-lang#149266
…on, r=Mark-Simulacrum
implement `Iterator::{exactly_one, collect_array}`
As per rust-lang#149266
Rollup of 19 pull requests Successful merges: - #148048 (Stabilize `maybe_uninit_write_slice`) - #148641 (Add a diagnostic attribute for special casing const bound errors for non-const impls) - #148765 (std: split up the `thread` module) - #149074 (Add Command::get_env_clear) - #149097 (num: Implement `uint_gather_scatter_bits` feature for unsigned integers) - #149131 (optimize `slice::Iter::next_chunk`) - #149190 (Forbid `CHECK: br` and `CHECK-NOT: br` in codegen tests (suggest `br {{.*}}` instead)) - #149239 (clarify float min/max behavios for NaNs and signed zeros) - #149243 (Fix typo and clarify bootstrap change tracker entry) - #149270 (implement `Iterator::{exactly_one, collect_array}`) - #149295 (Suggest _bytes versions of endian-converting methods) - #149301 (Motor OS: make decode_error_kind more comprehensive) - #149306 (bootstrap: Miri now handles jemalloc like everything else) - #149325 (rustdoc: add regression test for #140968) - #149332 (fix rustdoc search says “Consider searching for "null" instead.” #149324) - #149349 (Fix typo in comment.) - #149353 (Tidying up UI tests [3/N]) - #149355 (Document that `build.description` affects symbol mangling and crate IDs) - #149360 (Enable CI download for windows-gnullvm) r? `@ghost` `@rustbot` modify labels: rollup
…on, r=Mark-Simulacrum
implement `Iterator::{exactly_one, collect_array}`
As per rust-lang#149266
Rollup of 8 pull requests Successful merges: - #149238 (float::clamp: make treatment of signed zeros unspecified) - #149270 (implement `Iterator::{exactly_one, collect_array}`) - #149295 (Suggest _bytes versions of endian-converting methods) - #149332 (fix rustdoc search says “Consider searching for "null" instead.” #149324) - #149349 (Fix typo in comment.) - #149353 (Tidying up UI tests [3/N]) - #149355 (Document that `build.description` affects symbol mangling and crate IDs) - #149360 (Enable CI download for windows-gnullvm) r? `@ghost` `@rustbot` modify labels: rollup
In past I've tried to implement a collect_array using next_chunk or similar things from the std lib, and it wasn't efficent, so I had to restore my original custom implementation of collect_array. So before merging this into a nonnightly rustc, it's a good idea to benchmark it well, with arrays large at least 5000 items, or 2D arrays of 100x30 ints, etc, against a "native" version not based on next_chunk. If you really need something to do that benchmark, I can probably extract the code from my libs. |
As per #149266