about summary refs log tree commit diff
path: root/src/libcore/slice/rotate.rs
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-182/+0
2020-06-30Deny unsafe ops in unsafe fns, part 5LeSeulArtichaut-2/+0
2020-06-30Deny unsafe ops in unsafe fns, part 4LeSeulArtichaut-18/+30
2019-08-06Improve `ptr_rotate` performance, tests, and benchmarksAaron Kutch-69/+152
2019-04-27Rename .cap() methods to .capacity()Matthias Geier-2/+2
... but leave the old names in there for backwards compatibility.
2019-04-18libcore => 2018Taiki Endo-3/+3
2019-03-26adjust MaybeUninit API to discussionsRalf Jung-1/+1
uninitialized -> uninit into_initialized -> assume_init read_initialized -> read set -> write
2019-02-10tests: doc commentsAlexander Regueiro-4/+4
2018-12-25Remove licensesMark Rousskov-10/+0
2018-11-23use MaybeUninit in core::slice::rotateRalf Jung-9/+3
Code by @japaric, I just split it into individual commits
2018-09-29Revert "Auto merge of #53508 - japaric:maybe-uninit, r=RalfJung"Ralf Jung-3/+9
This reverts commit c6e3d7fa3113aaa64602507f39d4627c427742ff, reversing changes made to 4591a245c7eec9f70d668982b1383cd2a6854af5.
2018-09-22address Mark-Simulacrum commentsJorge Aparicio-5/+2
2018-09-22core: fix deprecated warningsJorge Aparicio-6/+3
2018-08-20Replace usages of ptr::offset with ptr::{add,sub}.Corey Farwell-7/+7
2018-07-19fix safety-related comment in slice::rotateRalf Jung-1/+1
2017-06-21Reuse the mem::swap optimizations to speed up slice::rotateScott McMurray-8/+1
Exposes the swapping logic from PR 40454 as `pub unsafe fn ptr::swap_nonoverlapping` under feature swap_nonoverlapping This is most helpful for compound types where LLVM didn't vectorize the loop. Highlight: bench slice::rotate_medium_by727_strings gets 38% faster.
2017-05-21Remove the optimization in ptr_swap_nScott McMurray-45/+3
It can be revisted later after the mem::swap optimizations land.
2017-05-21Add an in-place rotate method for slices to libcoreScott McMurray-0/+154
A helpful primitive for moving chunks of data around inside a slice. In particular, adding elements to the end of a Vec then moving them somewhere else, as a way to do efficient multiple-insert. (There's drain for efficient block-remove, but no easy way to block-insert.) Talk with another example: <https://youtu.be/qH6sSOr-yk8?t=560>