| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Fix Debug implementations of some of the HashMap and BTreeMap iterator types
HashMap's `ValuesMut`, BTreeMaps `ValuesMut`, IntoValues and `IntoKeys` structs were printing both keys and values on their Debug implementations. But they are iterators over either keys or values. Irrelevant values should not be visible. With this PR, they only show relevant fields.
This fixes #75297.
[Here's an example code.](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=0c79356ed860e347a0c1a205616f93b7) This prints this on nightly:
```
ValuesMut { inner: IterMut { range: [(1, "hello"), (2, "goodbye")], length: 2 } }
IntoKeys { inner: [(1, "hello"), (2, "goodbye")] }
IntoValues { inner: [(1, "hello"), (2, "goodbye")] }
[(2, "goodbye"), (1, "hello")]
```
After the patch this example prints these instead:
```
["hello", "goodbye"]
["hello", "goodbye"]
[1, 2]
["hello", "goodbye"]
```
I didn't add test cases for them, since I couldn't see any tests for Debug implementations anywhere. But please let me know if I should add it to a specific place.
r? @dtolnay
|
|
|
|
Fix typo in vec doc "tries to reserves"
Superseeds #77192
|
|
|
|
Rename AllocErr to AllocError
Implements rust-lang/wg-allocators#57
|
|
Alloc vec use imported path
mem::ManuallyDrop::new -> ManuallyDrop::new
cc @the8472
|
|
Fix typo in alloc vec comment
cc @the8472
|
|
BTreeMap: keep an eye out on the size of the main components
r? @Mark-Simulacrum
|
|
mem::ManuallyDrop::new -> ManuallyDrop::new
|
|
|
|
|
|
Previously, `BTreeMap` tried to link to `crate::collections`, intending
for the link to go to `std/collections/index.html`. But `BTreeMap` is
defined in `alloc`, so after the fix in the previous commit, the links
instead went to `alloc/collections/index.html`, which has almost no
information.
This changes it to link to `index.html`, which only works when viewing
from `std::collections::BTreeMap`, the most common place to visit the
docs. Fixing it to work from anywhere would require the docs for
`std::collections` to be duplicated in `alloc::collections`, which in
turn would require HashMap to be `alloc` for intra-doc links to work
(https://github.com/rust-lang/rust/issues/74481).
|
|
|
|
Rename Iterator::get_unchecked
Closes #76479
r? `@pnkfelix`
|
|
It's possible for method resolution to pick this method over a lower
priority stable method, causing compilation errors. Since this method
is permanently unstable, give it a name that is very unlikely to be used
in user code.
|
|
|
|
Remove extra space from vec drawing
|
|
BtreeMap: refactoring around edges
Parts chipped off a more daring effort, that the btree benchmarks judge to be performance-neutral.
r? @Mark-Simulacrum
|
|
|
|
|
|
|
|
|
|
Use `Self` in docs when possible
Fixes #76542.
I used `rg '\s*//[!/]\s+fn [\w_]+\(&?self, ' .` in `library/` to find instances, I found some with that and some by manually checking.
@rustbot modify labels: C-enhancement T-doc
|
|
Typo fix: "satsify" -> "satisfy"
|
|
Add missing examples on Vec iter types
r? @Dylan-DPC
|
|
Changing the alloc() to accept &self instead of &mut self
Fixes: [#55](https://github.com/rust-lang/wg-allocators/issues/55)
This is the first cut. It only makes the change for `alloc` method.
|
|
|
|
|
|
This may not be strictly minimal, but all unstable functions also need a
`rustc_const_unstable` attribute.
|
|
|
|
|
|
|
|
Reduce duplicate in liballoc reserve error handling
Not sure if it affects compilation time.
|
|
|
|
|
|
|
|
BTreeMap: extra testing & fixed comments
r? @Mark-Simulacrum
|
|
Avoid useless sift_down when std::collections::binary_heap::PeekMut is never mutably dereferenced
If `deref_mut` is never called then it's not possible for the element to be mutated without internal mutability, meaning there's no need to call `sift_down`.
This could be a little improvement in cases where you want to mutate the biggest element of the heap only if it satisfies a certain predicate that needs only read access to the element.
|
|
|
|
BTreeMap: code readability tweaks
Gathered over the past months
r? @Mark-Simulacrum
|
|
Move to intra-doc links in collections/vec_deque.rs and collections/vec_deque/drain.rs
Helps with #75080.
@rustbot modify labels: T-doc, A-intra-doc-links
|
|
Move to intra-doc links in collections/btree/map.rs and collections/linked_list.rs
Helps with #75080.
@rustbot modify labels: T-doc, A-intra-doc-links
|
|
r=jyn514
Move to intra-doc links in library/alloc/src/collections/binary_heap.rs
Helps with #75080.
@rustbot modify labels: T-doc, A-intra-doc-links
|
|
Remove unused feature gates from library/ crates
Removes some unused feature gates from library crates. It's likely not a complete list as I only tested a subset for which it's more likely that it is unused.
|
|
Test and fix Send and Sync traits of BTreeMap artefacts
Fixes #76686.
I'm not quite sure what all this implies. E.g. comparing with the definitions for `NodeRef` in node.rs, maybe an extra bound `T: 'a` is useful for something. The test compiles on stable/beta (apart from `drain_filter`) so I bet `Sync` is equally desirable.
r? @Mark-Simulacrum
|
|
|
|
|
|
|
|
|