Skip to content
This repository has been archived by the owner on Feb 10, 2024. It is now read-only.

Release 0.5.0, deprecated #25

Merged
merged 40 commits into from
Apr 25, 2019
Merged

Release 0.5.0, deprecated #25

merged 40 commits into from
Apr 25, 2019

Conversation

cuviper
Copy link
Member

@cuviper cuviper commented Apr 25, 2019

This is the last subtree merge before hashbrown replaced the std types in rust-lang/rust#58623.

I am also marking this crate deprecated -- folks who want to parallelize these types going forward should use hashbrown's own "rayon" feature.

fhartwig and others added 30 commits October 30, 2018 23:31
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.
Rollup of 17 pull requests

Successful merges:

 - #55182 (Redox: Update to new changes)
 - #55211 (Add BufWriter::buffer method)
 - #55507 (Add link to std::mem::size_of to size_of intrinsic documentation)
 - #55530 (Speed up String::from_utf16)
 - #55556 (Use `Mmap` to open the rmeta file.)
 - #55622 (NetBSD: link libstd with librt in addition to libpthread)
 - #55750 (Make `NodeId` and `HirLocalId` `newtype_index`)
 - #55778 (Wrap some query results in `Lrc`.)
 - #55781 (More precise spans for temps and their drops)
 - #55785 (Add mem::forget_unsized() for forgetting unsized values)
 - #55852 (Rewrite `...` as `..=` as a `MachineApplicable` 2018 idiom lint)
 - #55865 (Unix RwLock: avoid racy access to write_locked)
 - #55901 (fix various typos in doc comments)
 - #55926 (Change sidebar selector to fix compatibility with docs.rs)
 - #55930 (A handful of hir tweaks)
 - #55932 (core/char: Speed up `to_digit()` for `radix <= 10`)
 - #55956 (add tests for some fixed ICEs)

Failed merges:

r? @ghost
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.
It used to point to the implementation PR.
Fix bug in from_key_hashed_nocheck
…hat) on asymmetrically sized sets and extend unit tests slightly beyond that
Previously "with a custom type as key", now "with a custom key type"
Fixed typo in HashMap documentation

Previously "with a custom type as key", now "with a custom key type"
Add example of using the indexing operator to HashMap docs

Fixes #52575
Found with `git grep -P '\b([a-z]+)\s+\1\b'`
Notably, hash iterators don't require any trait bounds to be iterated.
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.
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 rust-lang/rust#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 rust-lang/rust#41960 (comment)
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.
@cuviper
Copy link
Member Author

cuviper commented Apr 25, 2019

bors r+

bors bot added a commit that referenced this pull request Apr 25, 2019
25: Release 0.5.0, deprecated r=cuviper a=cuviper

This is the last subtree merge before `hashbrown` replaced the `std` types in rust-lang/rust#58623.

I am also marking this crate deprecated -- folks who want to parallelize these types going forward should use `hashbrown`'s own "rayon" feature.

Co-authored-by: Florian Hartwig <[email protected]>
Co-authored-by: Meltinglava <[email protected]>
Co-authored-by: Mazdak Farrokhzad <[email protected]>
Co-authored-by: Andy Russell <[email protected]>
Co-authored-by: bors <[email protected]>
Co-authored-by: Guillaume Gomez <[email protected]>
Co-authored-by: Steven Fackler <[email protected]>
Co-authored-by: John Kåre Alsaker <[email protected]>
Co-authored-by: Hidehito Yabuuchi <[email protected]>
Co-authored-by: Corey Farwell <[email protected]>
Co-authored-by: kennytm <[email protected]>
Co-authored-by: Alexander Regueiro <[email protected]>
Co-authored-by: Stein Somers <[email protected]>
Co-authored-by: Ryan Marcus <[email protected]>
Co-authored-by: Mark Rousskov <[email protected]>
Co-authored-by: Wiktor Kuchta <[email protected]>
Co-authored-by: Anthony Ramine <[email protected]>
Co-authored-by: Scott McMurray <[email protected]>
@bors
Copy link
Contributor

bors bot commented Apr 25, 2019

Build succeeded

@bors bors bot merged commit d0e7915 into rayon-rs:master Apr 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.