summary refs log tree commit diff
path: root/library/alloc/src
AgeCommit message (Collapse)AuthorLines
2020-11-07remove needs_dropThe8472-8/+4
2020-10-03Rollup merge of #75377 - canova:map_debug_impl, r=dtolnayJonas Schievink-7/+51
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
2020-10-01BTreeMap: use Unique::from to avoid a cast where type information existsStein Somers-1/+1
2020-10-01Auto merge of #77383 - pickfire:patch-6, r=Mark-Simulacrumbors-3/+4
Fix typo in vec doc "tries to reserves" Superseeds #77192
2020-10-01Fix typo in vec doc "tries to reserves"Ivan Tham-3/+4
2020-10-01Rollup merge of #77315 - exrook:rename-allocerror, r=joshtriplettDylan DPC-17/+17
Rename AllocErr to AllocError Implements rust-lang/wg-allocators#57
2020-09-30Rollup merge of #77340 - pickfire:patch-9, r=kennytmJonas Schievink-1/+1
Alloc vec use imported path mem::ManuallyDrop::new -> ManuallyDrop::new cc @the8472
2020-09-30Rollup merge of #77338 - pickfire:patch-7, r=jyn514Jonas Schievink-1/+1
Fix typo in alloc vec comment cc @the8472
2020-09-30Rollup merge of #77233 - ssomers:btree_size_matters, r=Mark-SimulacrumJonas Schievink-0/+9
BTreeMap: keep an eye out on the size of the main components r? @Mark-Simulacrum
2020-09-29Alloc vec use imported pathIvan Tham-1/+1
mem::ManuallyDrop::new -> ManuallyDrop::new
2020-09-29Fix typo in alloc vec commentIvan Tham-1/+1
2020-09-28Rename AllocErr to AllocErrorJacob Hughes-17/+17
2020-09-27Use relative links instead of intra-doc linksJoshua Nelson-1/+1
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).
2020-09-26BTreeMap: keep an eye out on the size of the main componentsStein Somers-0/+9
2020-09-25Auto merge of #77201 - matthewjasper:rename-get-unchecked, r=spastorinobors-3/+9
Rename Iterator::get_unchecked Closes #76479 r? `@pnkfelix`
2020-09-25Rename Iterator::get_uncheckedMatthew Jasper-1/+1
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.
2020-09-25Improve <vec::IntoIter>::get_unchecked` safety commentMatthew Jasper-2/+8
2020-09-25Rollup merge of #77189 - pickfire:patch-5, r=Mark-SimulacrumJonas Schievink-1/+0
Remove extra space from vec drawing
2020-09-25Rollup merge of #77005 - ssomers:btree_cleanup_3, r=Mark-SimulacrumJonas Schievink-110/+99
BtreeMap: refactoring around edges Parts chipped off a more daring effort, that the btree benchmarks judge to be performance-neutral. r? @Mark-Simulacrum
2020-09-25Remove extra space from vec drawingIvan Tham-1/+0
2020-09-25BTreeMap: various tweaksStein Somers-61/+50
2020-09-25BTreeMap: introduce edge methods similar to those of keys and valuesStein Somers-24/+34
2020-09-25BTreeMap: refactor correct_childrens_parent_linksStein Somers-26/+16
2020-09-25Rollup merge of #77079 - poliorcetics:more-self-in-docs, r=jyn514Jonas Schievink-2/+2
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
2020-09-25Rollup merge of #77050 - follower:patch-1, r=oli-obkJonas Schievink-1/+1
Typo fix: "satsify" -> "satisfy"
2020-09-23Rollup merge of #77017 - GuillaumeGomez:vec-missing-examples-iter, r=Dylan-DPCDylan DPC-0/+31
Add missing examples on Vec iter types r? @Dylan-DPC
2020-09-23Rollup merge of #76993 - blitzerr:alloc-ref, r=AmanieuDylan DPC-17/+18
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.
2020-09-22a few more &mut self -> self changesblitzerr-4/+4
2020-09-23Use Self in allocAlexis Bourget-2/+2
2020-09-22Update library functions with stability attributesDylan MacKenzie-0/+5
This may not be strictly minimal, but all unstable functions also need a `rustc_const_unstable` attribute.
2020-09-22removing &mut self for other methods of AllocRefblitzerr-4/+4
2020-09-22Add missing examples on Vec iter typesGuillaume Gomez-0/+31
2020-09-22Typo fix: "satsify" -> "satisfy"follower-1/+1
2020-09-21Rollup merge of #72734 - pickfire:liballoc, r=KodrAusecstatic-morse-15/+13
Reduce duplicate in liballoc reserve error handling Not sure if it affects compilation time.
2020-09-21replaced cell::update with cell::[g|s]etblitzerr-5/+1
2020-09-21Added feature flag to use cell_updateblitzerr-0/+4
2020-09-21Changing the alloc() to accept &self instead of &mut selfblitzerr-9/+10
2020-09-21Rollup merge of #76983 - ssomers:btree_extra_test, r=Mark-SimulacrumRalf Jung-6/+25
BTreeMap: extra testing & fixed comments r? @Mark-Simulacrum
2020-09-21Auto merge of #75974 - SkiFire13:peekmut-opt-sift, r=LukasKalbertodtbors-2/+4
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.
2020-09-20BTreeMap: extra testing unveiling mistakes in future PRStein Somers-6/+25
2020-09-20Rollup merge of #76926 - ssomers:btree_cleanup_1, r=Mark-SimulacrumRalf Jung-7/+7
BTreeMap: code readability tweaks Gathered over the past months r? @Mark-Simulacrum
2020-09-20Rollup merge of #76877 - denisvasilik:intra-doc-links-alloc-vec-deque, r=jyn514Ralf Jung-23/+28
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
2020-09-20Rollup merge of #76876 - denisvasilik:intra-doc-links-alloc, r=jyn514Ralf Jung-12/+8
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
2020-09-20Rollup merge of #76875 - denisvasilik:intra-doc-links-alloc-binary-heap, ↵Ralf Jung-20/+14
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
2020-09-20Rollup merge of #76866 - est31:master, r=lcnrRalf Jung-9/+1
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.
2020-09-20Rollup merge of #76722 - ssomers:btree_send_sync, r=Mark-SimulacrumRalf Jung-0/+143
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
2020-09-20Remove some unused features from alloc core and stdest31-8/+1
2020-09-20Fix time complexity in BinaryHeap::peek_mut docsGiacomo Stevanato-1/+2
2020-09-20Set sift=true only when PeekMut yields a mutable referenceGiacomo Stevanato-1/+2
2020-09-19Use intra-doc linksDenis Vasilik-12/+8