about summary refs log tree commit diff
path: root/library/std/src/collections
AgeCommit message (Collapse)AuthorLines
2025-01-08fmtPietro Albini-8/+2
2025-01-08update version placeholdersPietro Albini-2/+2
2024-12-22Specify only that duplicates are discarded, not the order.Kevin Reid-4/+5
2024-12-21Document collection `From` and `FromIterator` impls that drop duplicate keys.Kevin Reid-0/+13
This behavior is worth documenting because there are other plausible alternatives, such as panicking when a duplicate is encountered, and it reminds the programmer to consider whether they should, for example, coalesce duplicate keys first.
2024-12-03./x miri: fix sysroot buildRalf Jung-4/+4
2024-12-02stabilize const_collections_with_hasher and build_hasher_default_const_newRalf Jung-2/+46
2024-11-28Also use zero when referencing to capacity or lengthtimvisee-4/+4
2024-11-18Improve `{BTreeMap,HashMap}::get_key_value` docs.Nicholas Nethercote-4/+36
They are unusual methods. The docs don't really describe the cases when they might be useful (as opposed to just `get`), and the examples don't demonstrate the interesting cases at all. This commit improves the docs and the examples.
2024-11-11Rollup merge of #120077 - SUPERCILEX:set-entry, r=AmanieuMatthias Krüger-0/+449
Add Set entry API See https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/HashSet.3A.3Aentry/near/413224639 and https://github.com/rust-lang/rust/issues/60896#issuecomment-678708111 Closes https://github.com/rust-lang/rfcs/issues/1490
2024-11-02Add Set entry APIAlex Saveau-0/+449
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2024-11-02const_with_hasher test: actually construct a usable HashMapRalf Jung-3/+23
2024-10-25library: consistently use American spelling for 'behavior'Ralf Jung-1/+1
2024-10-15replace placeholder versionJosh Stone-12/+12
(cherry picked from commit 567fd9610cbfd220844443487059335d7e1ff021)
2024-10-02impl Default for Hash{Map,Set} iterators that don't already have itltdk-0/+80
2024-10-02Update hashbrown to 0.15 and adjust some methodsUrgau-114/+55
as well as removing some from std as they no longer exists in Hashbrown it-self.
2024-10-01make test_lots_of_insertions test take less long in MiriRalf Jung-1/+1
2024-09-29Fix std tests for wasm32-wasip2 targetNicola Krumschmidt-0/+5
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-7/+7
2024-09-19[Clippy] Swap `iter_over_hash_type` to use diagnostic items instead of pathsGnomedDev-0/+8
2024-09-19[Clippy] Swap `map_entry` to use diagnostic items instead of pathsGnomedDev-0/+2
2024-09-18[Clippy] Swap `manual_retain` to use diagnostic items instead of pathsGnomedDev-0/+1
2024-09-13Stabilize entry_insertFélix Saparelli-4/+2
2024-09-10Clarify docs for std::collectionsJames Liu-27/+35
Page affected: https://doc.rust-lang.org/std/collections/index.html#performance Changes: - bulleted conventions - expanded definitions on terms used - more accessible language - merged Sequence and Map performance cost tables
2024-07-29Reformat `use` declarations.Nicholas Nethercote-26/+19
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-14std: Unsafe-wrap HashMap::get_many_unchecked_mutJubilee Young-3/+1
2024-07-14std: deny(unsafe_op_in_unsafe_fn) but allow sitesJubilee Young-0/+2
This provides a list of locations to hunt down issues in.
2024-06-03Fix typo in the docs of `HashMap::raw_entry_mut`Tim Kurdov-1/+1
2024-04-17Rollup merge of #122201 - coolreader18:doc-clone_from, r=dtolnayMatthias Krüger-2/+6
Document overrides of `clone_from()` in core/std As mentioned in https://github.com/rust-lang/rust/pull/96979#discussion_r1379502413 Specifically, when an override doesn't just forward to an inner type, document the behavior and that it's preferred over simply assigning a clone of source. Also, change instances where the second parameter is "other" to "source". I reused some of the wording over and over for similar impls, but I'm not sure that the wording is actually *good*. Would appreciate feedback about that. Also, now some of these seem to provide pretty specific guarantees about behavior (e.g. will reuse the exact same allocation iff the len is the same), but I was basing it off of the docs for [`Box::clone_from`](https://doc.rust-lang.org/1.75.0/std/boxed/struct.Box.html#method.clone_from-1) - I'm not sure if providing those strong guarantees is actually good or not.
2024-03-19Add "put" as a confusable for insert on hash map/setSky-2/+2
2024-03-08Document overrides of `clone_from()`Noa-2/+6
Specifically, when an override doesn't just forward to an inner type, document the behavior and that it's preferred over simply assigning a clone of source. Also, change instances where the second parameter is "other" to "source".
2024-02-22Add `rustc_confusables` annotations to some stdlib APIsEsteban Küber-0/+5
Help with common API confusion, like asking for `push` when the data structure really has `append`. ``` error[E0599]: no method named `size` found for struct `Vec<{integer}>` in the current scope --> $DIR/rustc_confusables_std_cases.rs:17:7 | LL | x.size(); | ^^^^ | help: you might have meant to use `len` | LL | x.len(); | ~~~ help: there is a method with a similar name | LL | x.resize(); | ~~~~~~ ``` #59450
2024-01-30add missing potential_query_instability for keys and values in hashmapyukang-0/+3
2024-01-20Auto merge of #117756 - a1phyr:hashmap_fold, r=the8472bors-0/+174
`HashMap`/`HashSet`: forward `fold` implementations of iterators Use [rust-lang/hasbrown#480](https://github.com/rust-lang/hashbrown/pull/480) in `std` Note: this needs a version bump of hashbrown before merging
2024-01-02Adjust library tests for unused_tuple_struct_fields -> dead_codeJake Goulding-1/+1
2023-12-04Specialize `count` tooBenoît du Garreau-0/+44
2023-12-04`HashMap`/`HashSet`: forward `fold` implementations of iteratorsBenoît du Garreau-0/+130
2023-11-02Add insta-stable std::hash::{DefaultHasher, RandomState} exportsltdk-6/+6
2023-11-02Move RandomState and DefaultHasher into std::hash, but don't export for nowltdk-154/+10
2023-10-20s/generator/coroutine/Oli Scherer-1/+1
2023-10-07Auto merge of #109214 - tosti007:std_collection_hash_new_rework, ↵bors-1/+1
r=workingjubilee Use `HashMap::with_capacity_and_hasher` instead of using base Cleans up the internal logic for `HashMap::with_capacity` slightly.
2023-08-07Increase clarity about Hash - Eq consistency in HashMap and HashSet docsEasyoakland-5/+8
2023-07-12avoid ambiguous wordTshepang Mbambo-1/+1
See https://github.com/rust-lang/rust/pull/113618#pullrequestreview-1526295432
2023-07-12update ancient noteTshepang Mbambo-2/+2
2023-06-29make HashMap::or_insert_with example more simpleTshepang Mbambo-4/+4
2023-06-15Auto merge of #104455 - the8472:dont-drain-on-drop, r=Amanieubors-73/+76
Don't drain-on-drop in DrainFilter impls of various collections. This removes drain-on-drop behavior from various unstable DrainFilter impls (not yet for HashSet/Map) because that behavior [is problematic](https://github.com/rust-lang/rust/issues/43244#issuecomment-641638196) (because it can lead to panic-in-drop when user closures panic) and may become forbidden if [this draft RFC passes](https://github.com/rust-lang/rfcs/pull/3288). closes #101122 [ACP](https://github.com/rust-lang/libs-team/issues/136) affected tracking issues * #43244 * #70530 * #59618 Related hashbrown update: https://github.com/rust-lang/hashbrown/pull/374
2023-06-14Rollup merge of #107619 - stepancheg:hash-set-insert, r=AmanieuMatthias Krüger-1/+23
Specify behavior of HashSet::insert `HashSet::insert` does not replace the value with equal value. Fixes #107581.
2023-06-14update hashbrown and replace Hash{Set,Map}::DrainFilter with ExtractIfThe 8472-73/+76
2023-04-16rm const traits in libcoreDeadbeef-4/+2
2023-04-14Rollup merge of #110244 - kadiwa4:unnecessary_imports, r=JohnTitorMatthias Krüger-4/+0
Remove some unneeded imports / qualified paths Continuation of #105537.
2023-04-14Rollup merge of #110047 - skaunov:patch-1, r=ChrisDentonYuki Okushi-2/+5
Add link to `collections` docs to `extend` trait I believe it would be useful here.