| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-02-10 | libs: doc comments | Alexander Regueiro | -10/+10 | |
| 2019-02-10 | tests: doc comments | Alexander Regueiro | -5/+5 | |
| 2019-02-07 | Rollup merge of #58123 - lnicola:binary-heap-no-bounds-checks, r=sfackler | kennytm | -3/+8 | |
| Avoid some bounds checks in binary_heap::{PeekMut,Hole} Fixes #58121. | ||||
| 2019-02-03 | Avoid some bounds checks in binary_heap::{PeekMut,Hole} | Laurențiu Nicola | -3/+8 | |
| 2019-02-03 | liballoc: revert nested imports style changes. | Mazdak Farrokhzad | -83/+58 | |
| 2019-02-02 | liballoc: fix some idiom lints. | Mazdak Farrokhzad | -58/+58 | |
| 2019-02-02 | liballoc: elide some lifetimes. | Mazdak Farrokhzad | -82/+81 | |
| 2019-02-02 | liballoc: apply uniform_paths. | Mazdak Farrokhzad | -7/+8 | |
| 2019-02-02 | liballoc: prefer imports of borrow from libcore. | Mazdak Farrokhzad | -9/+7 | |
| 2019-02-02 | liballoc: refactor & fix some imports. | Mazdak Farrokhzad | -72/+87 | |
| 2019-02-02 | liballoc: cargo check passes on 2018 | Mazdak Farrokhzad | -13/+13 | |
| 2019-01-30 | override `VecDeque`'s `Iter::try_fold` | Andre Bogus | -1/+9 | |
| 2019-01-28 | rename first_mut_ptr -> first_ptr_mut | Ralf Jung | -5/+5 | |
| 2019-01-28 | add macro for creating uninitialized array | Ralf Jung | -9/+3 | |
| 2019-01-28 | avoid some raw ptr casts in BTreeMap | Ralf Jung | -7/+10 | |
| 2019-01-28 | avoid mem::uninitialized in BTreeMap | Ralf Jung | -9/+16 | |
| 2018-12-28 | Auto merge of #55519 - fhartwig:hashmap-index-example, r=Centril | bors | -0/+3 | |
| Add example of using the indexing operator to HashMap docs Fixes #52575 | ||||
| 2018-12-25 | Remove licenses | Mark Rousskov | -90/+0 | |
| 2018-12-23 | Rollup merge of #57002 - scottmcm:stabilize-resize_with, r=rkruppe | kennytm | -3/+1 | |
| Stabilize Vec(Deque)::resize_with Closes #41758 | ||||
| 2018-12-22 | Auto merge of #56842 - scottmcm:vecdeque-rotate, r=alexcrichton | bors | -0/+112 | |
| Add unstable VecDeque::rotate_{left|right} Like the ones on slices, but more efficient because vecdeque is a circular buffer. Issue that proposed this: https://github.com/rust-lang/rust/issues/56686 ~~:bomb: Please someone look very carefully at the `unsafe` in this! The `wrap_copy` seems to be exactly what this method needs, and the `len` passed to it is never more than half the length of the deque, but I haven't managed to prove to myself that it's correct :bomb:~~ I think I proved that this code meets the requirement of the unsafe code it's calling; please double-check, of course. | ||||
| 2018-12-19 | Stabilize Vec(Deque)::resize_with | Scott McMurray | -3/+1 | |
| Closes #41758 | ||||
| 2018-12-16 | Rollup merge of #56672 - ccouzens:master, r=nikic | Mazdak Farrokhzad | -1/+5 | |
| Document time of back operations of a Linked List Popping and pushing from the end of a linked list is constant time. This documentation is already there for popping and pushing from the front. @bors: r+ 38fe8d2 rollup | ||||
| 2018-12-16 | Rollup merge of #56648 - RalfJung:btree, r=sfackler | Mazdak Farrokhzad | -57/+117 | |
| Fix BTreeMap UB BTreeMap currently causes UB by created a shared reference to a too-small allocation. This PR fixes that by introducing a `NodeHeader` type and using that until we really need access to the key/value arrays. Avoiding run-time checks in `into_key_slice` was somewhat tricky, see the comments embedded in the code. I also adjusted `as_leaf_mut` to return a raw pointer, because creating a mutable reference asserts that there are no aliases to the pointee, but that's not always correct: We use `as_leaf_mut` twice to create two mutable slices for keys and values; the second call overlaps with the first slice and hence is not a unique pointer. Fixes https://github.com/rust-lang/rust/issues/54957 Cc @nikomatsakis @Gankro | ||||
| 2018-12-15 | Add a note about why the unsafe is sound | Scott McMurray | -0/+10 | |
| 2018-12-15 | Add unstable VecDeque::rotate_{left|right} | Scott McMurray | -0/+102 | |
| 2018-12-13 | Auto merge of #56161 - RalfJung:vecdeque-stacked-borrows, r=SimonSapin | bors | -1/+4 | |
| VecDeque: fix for stacked borrows `VecDeque` violates a version of stacked borrows where creating a shared reference is not enough to make a location *mutably accessible* from raw pointers (and I think that is the version we want). There are two problems: * Creating a `NonNull<T>` from `&mut T` goes through `&T` (inferred for a `_`), then `*const T`, then `NonNull<T>`. That means in this stricter version of Stacked Borrows, we cannot actually write to such a `NonNull` because it was created from a shared reference! This PR fixes that by going from `&mut T` to `*mut T` to `*const T`. * `VecDeque::drain` creates the `Drain` struct by *first* creating a `NonNull` from `self` (which is an `&mut VecDeque`), and *then* calling `self.buffer_as_mut_slice()`. The latter reborrows `self`, asserting that `self` is currently the unique pointer to access this `VecDeque`, and hence invalidating the `NonNull` that was created earlier. This PR fixes that by instead using `self.buffer_as_slice()`, which only performs read accesses and creates only shared references, meaning the raw pointer (`NonNull`) remains valid. It is possible that other methods on `VecDeque` do something similar, miri's test coverage of `VecDeque` is sparse to say the least. Cc @nikomatsakis @Gankro | ||||
| 2018-12-11 | Typo | Alexis Beingessner | -1/+1 | |
| Co-Authored-By: RalfJung <post@ralfj.de> | ||||
| 2018-12-10 | Document time of back operations of a Linked List | Chris Couzens | -1/+5 | |
| Popping and pushing from the end of a linked list is constant time. This documentation is already there for popping and pushing from the front. @bors: r+ 38fe8d2 rollup | ||||
| 2018-12-09 | avoid as_leaf_mut asserting exclusive access | Ralf Jung | -30/+33 | |
| 2018-12-09 | fix BTree creating shared references that are not entirely in-bounds | Ralf Jung | -29/+86 | |
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -7/+7 | |
| 2018-12-07 | Fix broken doc test | Corey Farwell | -1/+1 | |
| 2018-12-07 | Drain only needs a shared reference | Ralf Jung | -7/+5 | |
| 2018-12-07 | VecDeque::drain: make sure the 'drain' raw pointer is actually still usable | Ralf Jung | -2/+7 | |
| 2018-12-05 | Fix typo in variable name | Corey Farwell | -1/+1 | |
| 2018-12-04 | Replace usages of `..i + 1` ranges with `..=i`. | Corey Farwell | -9/+9 | |
| 2018-12-04 | Add example of using the indexing operator to BTreeMap docs | Corey Farwell | -0/+3 | |
| 2018-12-03 | Rollup merge of #56432 - ordovicia:shrink-to-issue, r=Centril | kennytm | -2/+2 | |
| Update issue number of `shrink_to` methods to point the tracking issue Tracking issue: #56431 | ||||
| 2018-12-03 | Rollup merge of #56401 - scottmcm:vecdeque-resize-with, r=dtolnay | kennytm | -33/+27 | |
| Move VecDeque::resize_with out of the impl<T:Clone> block I put this in the wrong `impl` block in https://github.com/rust-lang/rust/pull/56016, so fixing. Tracking issue for the unstable method: https://github.com/rust-lang/rust/issues/41758#issuecomment-443077953 | ||||
| 2018-12-02 | avoid MaybeUninit::get_mut where it is not needed | Ralf Jung | -2/+2 | |
| 2018-12-02 | Update issue number of `shrink_to` methods to point the tracking issue | Hidehito Yabuuchi | -2/+2 | |
| 2018-11-30 | Move VecDeque::resize_with out of the impl<T:Clone> block | Scott McMurray | -33/+27 | |
| 2018-11-17 | Add VecDeque::resize_with | Scott McMurray | -1/+39 | |
| 2018-11-15 | Rollup merge of #55901 - euclio:speling, r=petrochenkov | Pietro Albini | -1/+1 | |
| fix various typos in doc comments | ||||
| 2018-11-13 | fix various typos in doc comments | Andy Russell | -1/+1 | |
| 2018-11-06 | Format BtreeMap::range_mut example | kngwyu | -3/+4 | |
| 2018-10-28 | msp430: fix compilation of liballoc | Jorge Aparicio | -0/+2 | |
| 2018-10-23 | fix typos in various places | Matthias Krüger | -1/+1 | |
| 2018-10-10 | remove a now outdated comment | Ralf Jung | -3/+0 | |
| 2018-10-09 | address RalfJung's comment | Jorge Aparicio | -6/+6 | |
