| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-03-29 | improve worst-case performance of BTreeSet difference and intersection | Stein Somers | -65/+233 | |
| 2019-03-26 | adjust MaybeUninit API to discussions | Ralf Jung | -5/+5 | |
| uninitialized -> uninit into_initialized -> assume_init read_initialized -> read set -> write | ||||
| 2019-02-22 | Rollup merge of #58431 - RalfJung:btree, r=Mark-Simulacrum | Mazdak Farrokhzad | -15/+42 | |
| fix overlapping references in BTree This fixes two kinds of overlapping references in BTree (both found by running the BTree test suite in Miri). In `into_slices_mut`, we did `k.into_key_slice_mut()` followed by `self.into_val_slice_mut()` (where `k` is a copy of `self`). Calling `into_val_slice_mut` calls `self.len()`, which creates a shared reference to `NodeHeader`, which unfortunately (due to padding) overlaps with the mutable reference returned by `into_key_slice_mut`. Hence the key slice got (partially) invalidated. The fix is to avoid creating an `&NodeHeader` after the first slice got created. In the iterators, we used to first create the references that will be returned, and then perform the walk on the tree. Walking the tree creates references (such as `&mut InternalNode`) that overlap with all of the keys and values stored in a pointer; in particular, they overlap with the references the iterator will later return. This is fixed by reordering the operations of walking the tree and obtaining the inner references. The test suite still passes (and it passes in Miri now!), but there is a lot of code here that I do not understand... | ||||
| 2019-02-20 | Rollup merge of #58553 - scottmcm:more-ihle, r=Centril | kennytm | -20/+20 | |
| 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-17 | Use more impl header lifetime elision | Scott McMurray | -20/+20 | |
| 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-14 | split MaybeUninit into several features, expand docs a bit | Ralf Jung | -2/+2 | |
| 2019-02-13 | fix invalidating references in BTree iterators | Ralf Jung | -13/+21 | |
| 2019-02-13 | fix overlapping mutable and shared references in BTreeMap's into_slices_mut | Ralf Jung | -3/+22 | |
| 2019-02-10 | libs: doc comments | Alexander Regueiro | -5/+5 | |
| 2019-02-10 | tests: doc comments | Alexander Regueiro | -3/+3 | |
| 2019-02-03 | liballoc: revert nested imports style changes. | Mazdak Farrokhzad | -42/+26 | |
| 2019-02-02 | liballoc: fix some idiom lints. | Mazdak Farrokhzad | -35/+35 | |
| 2019-02-02 | liballoc: elide some lifetimes. | Mazdak Farrokhzad | -38/+37 | |
| 2019-02-02 | liballoc: apply uniform_paths. | Mazdak Farrokhzad | -2/+3 | |
| 2019-02-02 | liballoc: prefer imports of borrow from libcore. | Mazdak Farrokhzad | -9/+7 | |
| 2019-02-02 | liballoc: refactor & fix some imports. | Mazdak Farrokhzad | -33/+42 | |
| 2019-02-02 | liballoc: cargo check passes on 2018 | Mazdak Farrokhzad | -6/+6 | |
| 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 | -50/+0 | |
| 2018-12-11 | Typo | Alexis Beingessner | -1/+1 | |
| Co-Authored-By: RalfJung <post@ralfj.de> | ||||
| 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 | -6/+6 | |
| 2018-12-07 | Fix broken doc test | Corey Farwell | -1/+1 | |
| 2018-12-05 | Fix typo in variable name | Corey Farwell | -1/+1 | |
| 2018-12-04 | Add example of using the indexing operator to BTreeMap docs | Corey Farwell | -0/+3 | |
| 2018-12-02 | avoid MaybeUninit::get_mut where it is not needed | Ralf Jung | -2/+2 | |
| 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-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 | |
| 2018-10-09 | alloc: fix deprecated warnings | Jorge Aparicio | -20/+20 | |
| 2018-09-29 | Revert "Auto merge of #53508 - japaric:maybe-uninit, r=RalfJung" | Ralf Jung | -20/+20 | |
| This reverts commit c6e3d7fa3113aaa64602507f39d4627c427742ff, reversing changes made to 4591a245c7eec9f70d668982b1383cd2a6854af5. | ||||
| 2018-09-22 | address RalfJung's comment | Jorge Aparicio | -6/+6 | |
| 2018-09-22 | alloc: fix deprecated warnings | Jorge Aparicio | -20/+20 | |
| 2018-08-20 | Replace usages of ptr::offset with ptr::{add,sub}. | Corey Farwell | -24/+24 | |
| 2018-07-20 | data_structures: Add a reference wrapper for pointer-indexed maps/sets | Vadim Petrochenkov | -1/+1 | |
| Use `ptr::eq` for comparing pointers | ||||
| 2018-07-02 | add outlives annotations to `BTreeMap` | Niko Matsakis | -7/+10 | |
| nll requires these annotations, I believe because of https://github.com/rust-lang/rust/issues/29149 | ||||
| 2018-07-02 | Make `BTreeMap::clone()` not allocate when cloning an empty tree. | Nicholas Nethercote | -1/+10 | |
| 2018-06-29 | Move some alloc crate top-level items to a new alloc::collections module | Simon Sapin | -0/+5451 | |
| This matches std::collections | ||||
