Simon Sapin
7454b29efc
HashMap is UnwindSafe
...
Fixes https://github.com/rust-lang/rust/issues/62301 , a regression in 1.36.0 which was caused by hashbrown using `NonZero<T>` where the older hashmap used `Unique<T>`.
2019-07-02 16:01:06 +02:00
Mazdak Farrokhzad
a34dae3587
Rollup merge of #60511 - taiki-e:libstd-intra-doc, r=Dylan-DPC
...
Fix intra-doc link resolution failure on re-exporting libstd
Currently, re-exporting libstd items as below will [occur a lot of failures](https://gist.github.com/taiki-e/e33e0e8631ef47f65a74a3b69f456366 ).
```rust
pub use std::*;
```
Until the underlying issue (#56922 ) fixed, we can fix that so they don't propagate to downstream crates.
Related: https://github.com/rust-lang/rust/pull/56941 (That PR fixed failures that occur when re-exporting from libcore to libstd.)
r? @QuietMisdreavus
2019-05-20 23:02:59 +02:00
bors
68fd80fa1e
Auto merge of #60899 - cuviper:RawEntryMut-origin-story, r=Centril
...
doc: correct the origin of RawEntryMut
2019-05-17 07:24:16 +00:00
Josh Stone
4d61fb1ba4
doc: correct the origin of RawEntryMut
2019-05-16 18:15:09 -07:00
Josh Stone
9161a4dbef
Comment why get_or_insert returns &T
2019-05-16 16:21:31 -07:00
Josh Stone
5e2c9d38e9
Add a hash_set_entry tracking issue
2019-05-16 15:37:01 -07:00
Josh Stone
5f938342ce
Add entry-like methods to HashSet
...
* `HashSet::get_or_insert`
* `HashSet::get_or_insert_with`
These provide a simplification of the `Entry` API for `HashSet`, with
names chosen to match the similar methods on `Option`.
2019-05-16 15:10:52 -07:00
Taiki Endo
ccb9dac5ed
Fix intra-doc link resolution failure on re-exporting libstd
2019-05-04 23:48:57 +09:00
varkor
aa388f1d11
ignore-tidy-filelength on all files with greater than 3000 lines
2019-04-25 21:39:09 +01:00
Amanieu d'Antras
e15bf96cb2
Remove broken tests
2019-04-24 06:54:14 +08:00
Amanieu d'Antras
cf46bd5037
Replace the robin-hood hash table with hashbrown
2019-04-24 06:54:14 +08:00
Amanieu d'Antras
556fc40a95
Mark HashSet functions with #[inline]
2019-04-24 06:54:14 +08:00
Amanieu d'Antras
a533504ca1
Add try_reserve to HashSet
2019-04-24 06:54:14 +08:00
Amanieu d'Antras
185ed988d2
Remove the Recover trait for HashSet
2019-04-24 06:54:14 +08:00
Marc
64dc041511
Remove collection-specific with_capacity doc from std::collections
...
Fixes #59931
2019-04-15 20:30:52 +12:00
Stein Somers
5b8bfe0471
improve worst-case performance of HashSet.is_subset
2019-04-03 13:01:01 +02:00
Mazdak Farrokhzad
379c380a60
libstd: deny(elided_lifetimes_in_paths)
2019-03-31 12:56:51 +02:00
kennytm
d1744728a0
Rollup merge of #59082 - alexreg:cosmetic-2-doc-comments, r=Centril
...
A few improvements to comments in user-facing crates
Not too many this time, and all concern comments (almost all doc comments) in user-facing crates (libstd, libcore, liballoc).
r? @steveklabnik
2019-03-16 22:39:56 +08:00
Alexander Regueiro
8629fd3e4e
Improvements to comments in libstd, libcore, liballoc.
2019-03-11 02:25:44 +00:00
Scott McMurray
df4ea90b39
Use lifetime contravariance to elide more lifetimes in core+alloc+std
2019-03-09 19:10:28 -08:00
Pietro Albini
55dc386f61
Rollup merge of #58369 - nox:sync-hash-map-entry, r=Amanieu
...
Make the Entry API of HashMap<K, V> Sync and Send
Fixes #45219
2019-03-08 09:41:42 +01:00
Anthony Ramine
1fec8c2835
Make the Entry API of HashMap<K, V> Sync and Send ( fixes #45219 )
2019-03-04 10:20:40 +01:00
Taiki Endo
93b6d9e086
libstd => 2018
2019-02-28 04:06:15 +09:00
Mazdak Farrokhzad
03acebe2ca
Rollup merge of #58370 - nox:relax-bounds, r=dtolnay
...
Relax some Hash bounds on HashMap<K, V, S> and HashSet<T, S>
Notably, hash iterators don't require any trait bounds to be iterated.
2019-02-25 03:17:58 +01:00
kennytm
e3a8f7db47
Rollup merge of #58553 - scottmcm:more-ihle, r=Centril
...
Use more impl header lifetime elision
Inspired by seeing explicit lifetimes on these two:
- https://doc.rust-lang.org/nightly/std/slice/struct.Iter.html#impl-FusedIterator
- https://doc.rust-lang.org/nightly/std/primitive.u32.html#impl-Not
And a follow-up to https://github.com/rust-lang/rust/pull/54687 , that started using IHLE in libcore.
Most of the changes in here fall into two big categories:
- Removing lifetimes from common traits that can essentially never user a lifetime from an input (particularly `Drop`, `Debug`, and `Clone`)
- Forwarding impls that are only possible because the lifetime doesn't matter (like `impl<R: Read + ?Sized> Read for &mut R`)
I omitted things that seemed like they could be more controversial, like the handful of iterators that have a `Item: 'static` despite the iterator having a lifetime or the `PartialEq` implementations [where the flipped one cannot elide the lifetime](https://internals.rust-lang.org/t/impl-type-parameter-aliases/9403/2?u=scottmcm ).
I also removed two lifetimes that turned out to be completely unused; see https://github.com/rust-lang/rust/issues/41960#issuecomment-464557423
2019-02-20 11:59:10 +08:00
Scott McMurray
3bea2ca49d
Use more impl header lifetime elision
...
There are two big categories of changes in here
- Removing lifetimes from common traits that can essentially never user a lifetime from an input (particularly `Drop` & `Debug`)
- Forwarding impls that are only possible because the lifetime doesn't matter (like `impl<R: Read + ?Sized> Read for &mut R`)
I omitted things that seemed like they could be more controversial, like the handful of iterators that have a `Item: 'static` despite the iterator having a lifetime or the `PartialEq` implementations where the flipped one cannot elide the lifetime.
2019-02-17 19:42:36 -08:00
Anthony Ramine
d9e2259d65
Relax some Hash bounds on HashMap<K, V, S> and HashSet<T, S>
...
Notably, hash iterators don't require any trait bounds to be iterated.
2019-02-13 12:23:14 +01:00
Alexander Regueiro
99ed06eb88
libs: doc comments
2019-02-10 23:57:25 +00:00
Stein Somers
8823bf0b40
Fix poor worst case performance of is_disjoint
2019-01-09 22:19:54 +01:00
Stein Somers
ccba43df81
Merge remote-tracking branch 'upstream/master'
2019-01-09 15:15:18 +01:00
Wiktor Kuchta
190d139f3a
Fix repeated word typos
...
Found with `git grep -P '\b([a-z]+)\s+\1\b'`
2019-01-03 21:33:37 +01:00
bors
ee49bf8964
Auto merge of #55519 - fhartwig:hashmap-index-example, r=Centril
...
Add example of using the indexing operator to HashMap docs
Fixes #52575
2018-12-28 06:52:15 +00:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
kennytm
bba398ee2c
Rollup merge of #57050 - RyanMarcus:master, r=zackmdavis
...
Fixed typo in HashMap documentation
Previously "with a custom type as key", now "with a custom key type"
2018-12-23 02:12:25 +08:00
Ryan Marcus
51e4c1f320
Fixed typo in HashMap documentation
...
Previously "with a custom type as key", now "with a custom key type"
2018-12-21 14:50:25 -05:00
Stein Somers
f9f71cc324
Fix poor worst case performance of set intersection (and union, somewhat) on asymmetrically sized sets and extend unit tests slightly beyond that
2018-12-21 14:57:56 +01:00
John Kåre Alsaker
4f30a24e42
Inline tweaks
2018-12-21 12:09:43 +01:00
Alexander Regueiro
ee89c088b0
Various minor/cosmetic improvements to code
2018-12-07 23:53:34 +00:00
kennytm
06f3b57633
Rollup merge of #56561 - Zoxc:too-raw, r=Gankro
...
Fix bug in from_key_hashed_nocheck
2018-12-07 12:42:35 +08:00
John Kåre Alsaker
7df4b812f0
Fix bug in from_key_hashed_nocheck
2018-12-06 14:32:00 +01:00
Corey Farwell
c025d61409
Replace usages of ..i + 1 ranges with ..=i.
2018-12-04 12:05:19 -08:00
Hidehito Yabuuchi
1e18cc916f
Update issue number of shrink_to methods to point the tracking issue
2018-12-02 16:08:08 +09:00
John Kåre Alsaker
946ea1453d
Inline things
2018-11-30 08:14:22 +01:00
Steven Fackler
d0f99ddefa
Fix the tracking issue for hash_raw_entry
...
It used to point to the implementation PR.
2018-11-22 09:52:24 -07:00
Guillaume Gomez
89e0fcee40
Rollup merge of #55784 - meltinglava:master, r=KodrAus
...
Clarifying documentation for collections::hash_map::Entry::or_insert
Previous version does not show that or_insert does not insert the passed value, as the passed value was the same value as what was already in the map.
2018-11-22 10:37:46 +01:00
Andy Russell
4e35cbb22e
fix various typos in doc comments
2018-11-13 14:45:31 -05:00
Meltinglava
8b750a77fc
The example values are now easyer to differenciate
2018-11-13 12:20:23 +01:00
Meltinglava
b937be87cb
Clarifying documentation for collections::hash_map::Entry::or_insert
...
Previous version does not show that or_insert does not insert the
passed value, as the passed value was the same value as what was
already in the map.
2018-11-08 15:43:18 +01:00
kennytm
9d9146ad95
Rollup merge of #55734 - teresy:shorthand-fields, r=davidtwco
...
refactor: use shorthand fields
refactor: use shorthand for single fields everywhere (excluding tests).
2018-11-07 21:27:00 +08:00
teresy
eca11b99a7
refactor: use shorthand fields
2018-11-06 15:05:44 -05:00