| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-04-09 | Move away from the ad-hoc NoDrop unions | Simonas Kazlauskas | -18/+12 | |
| 2017-04-08 | slice: Implement .rfind() for slice iterators Iter and IterMut | Ulrik Sverdrup | -0/+13 | |
| Just like the forward case find, implement rfind explicitly | ||||
| 2017-04-05 | Rollup merge of #41065 - jorendorff:slice-rsplit-41020, r=alexcrichton | Ariel Ben-Yehuda | -17/+148 | |
| [T]::rsplit() and rsplit_mut(), #41020 | ||||
| 2017-04-05 | Rollup merge of #40943 - Amanieu:offset_to, r=alexcrichton | Ariel Ben-Yehuda | -3/+4 | |
| Add ptr::offset_to This PR adds a method to calculate the signed distance (in number of elements) between two pointers. The resulting value can then be passed to `offset` to get one pointer from the other. This is similar to pointer subtraction in C/C++. There are 2 special cases: - If the distance is not a multiple of the element size then the result is rounded towards zero. (in C/C++ this is UB) - ZST return `None`, while normal types return `Some(isize)`. This forces the user to handle the ZST case in unsafe code. (C/C++ doesn't have ZSTs) | ||||
| 2017-04-04 | simplify implementation of [T]::splitn and friends #41020 | Jason Orendorff | -17/+9 | |
| 2017-04-04 | add [T]::rsplit() and rsplit_mut() #41020 | Jason Orendorff | -0/+139 | |
| 2017-04-03 | Add ptr::offset_to | Amanieu d'Antras | -3/+4 | |
| 2017-03-31 | Auto merge of #40737 - nagisa:safe-slicing-strs, r=BurntSushi | bors | -28/+24 | |
| Checked slicing for strings cc https://github.com/rust-lang/rust/issues/39932 | ||||
| 2017-03-28 | libcore: sort_unstable: remove unnecessary loop. | Vadzim Dambrouski | -1/+3 | |
| `other` is guaranteed to be less than `2 * len`. | ||||
| 2017-03-26 | libcore: sort_unstable: improve randomization in break_patterns. | Vadzim Dambrouski | -24/+32 | |
| Select 3 random points instead of just 1. Also the code now compiles on 16bit architectures. | ||||
| 2017-03-25 | Optimize insertion sort | Stjepan Glavina | -2/+2 | |
| This change slightly changes the main iteration loop so that LLVM can optimize it more efficiently. Benchmark: name before ns/iter after ns/iter diff ns/iter diff % slice::sort_unstable_small_ascending 39 (2051 MB/s) 38 (2105 MB/s) -1 -2.56% slice::sort_unstable_small_big_random 579 (2210 MB/s) 575 (2226 MB/s) -4 -0.69% slice::sort_unstable_small_descending 80 (1000 MB/s) 70 (1142 MB/s) -10 -12.50% slice::sort_unstable_small_random 396 (202 MB/s) 386 -10 -2.53% | ||||
| 2017-03-22 | Checked (and unchecked) slicing for strings? | Simonas Kazlauskas | -28/+24 | |
| What is this magic‽ | ||||
| 2017-03-22 | Various fixes to wording consistency in the docs | Stjepan Glavina | -7/+7 | |
| 2017-03-21 | Unit test heapsort | Stjepan Glavina | -2/+11 | |
| 2017-03-21 | Use partial insertion sort | Stjepan Glavina | -54/+119 | |
| 2017-03-21 | Tweak the constants a bit | Stjepan Glavina | -5/+5 | |
| 2017-03-21 | Fix grammar | Stjepan Glavina | -3/+3 | |
| 2017-03-21 | Faster sort_unstable on presorted inputs | Stjepan Glavina | -13/+21 | |
| 2017-03-21 | Address Alex's PR comments | Stjepan Glavina | -2/+0 | |
| 2017-03-21 | Implement feature sort_unstable | Stjepan Glavina | -0/+3088 | |
