| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-12-20 | std: silence warnings when compiling test. | Huon Wilson | -15/+2 | |
| 2013-12-19 | auto merge of #11061 : huonw/rust/opt-unsafe-vec, r=alexcrichton | bors | -48/+105 | |
| Before: ``` test vec::bench::random_inserts ... bench: 15025 ns/iter (+/- 409) test vec::bench::random_removes ... bench: 16063 ns/iter (+/- 276) ``` After: ``` test vec::bench::random_inserts ... bench: 5257 ns/iter (+/- 321) test vec::bench::random_removes ... bench: 4980 ns/iter (+/- 94) ``` | ||||
| 2013-12-19 | std::vec: use some unsafe code to optimise `remove`. | Huon Wilson | -39/+74 | |
| Also, add `.remove_opt` and replace `.unshift` with `.remove(0)`. The code size reduction seem to compensate for not having the optimised special cases. This makes the included benchmark more than 3 times faster. | ||||
| 2013-12-19 | std::vec: replace .insert with a small amount of unsafe code. | Huon Wilson | -9/+31 | |
| This makes the included benchmark more than 3 times faster. Also, `.unshift(x)` is now faster as `.insert(0, x)` which can reuse the allocation if necessary. | ||||
| 2013-12-19 | std::vec: remove .as_muf_buf, replaced by .as_mut_ptr & .len. | Huon Wilson | -44/+20 | |
| 2013-12-19 | std::vec: remove .as_imm_buf, replaced by .as_ptr & .len. | Huon Wilson | -38/+10 | |
| There's no need for the restrictions of a closure with the above methods. | ||||
| 2013-12-17 | auto merge of #10998 : thestinger/rust/iter, r=alexcrichton | bors | -4/+2 | |
| 2013-12-17 | auto merge of #10996 : huonw/rust/more-vec-raw, r=cmr | bors | -86/+64 | |
| The removal of the aliasing &mut[] and &[] from `shift_opt` also comes with its simplification. The above also allows the use of `copy_nonoverlapping_memory` in `[].copy_memory` (I did an audit of each use of `.copy_memory` and `std::vec::bytes::copy_memory`, and I believe none of them are called with arguments can ever alias). This changes requires that `unsafe` code using `copy_memory` **needs** to respect the aliasing rules of `&mut[]`. | ||||
| 2013-12-17 | std::vec: make init_elem nicer by doing fewer moves. | Huon Wilson | -5/+1 | |
| 2013-12-17 | std::vec: convert .copy_memory to use copy_nonoverlapping_memory. | Huon Wilson | -5/+5 | |
| It is required that &mut[]s are disjoint from all other &(mut)[]s, so this assumption is ok. | ||||
| 2013-12-17 | std::vec::bytes: remove the reference to overlapping src and dest in | Huon Wilson | -7/+4 | |
| docs for copy_memory. &mut [u8] and &[u8] really shouldn't be overlapping at all (part of the uniqueness/aliasing guarantee of &mut), so no point in encouraging it. | ||||
| 2013-12-17 | std::vec::raw: convert copy_memory to a method. | Huon Wilson | -20/+21 | |
| 2013-12-17 | std::vec::raw: convert init_elem to a method. | Huon Wilson | -16/+16 | |
| 2013-12-16 | vec: avoid some unsafe code in MoveIterator's dtor | Daniel Micay | -4/+2 | |
| 2013-12-17 | std::vec: remove aliasing &mut [] and &[] from shift_opt. | Huon Wilson | -43/+27 | |
| Also, dramatically simplify it with some tasteful raw pointers, rather than treating everything as a nail with `transmute`. | ||||
| 2013-12-16 | vec: make the move iterator fast for all types | Daniel Micay | -42/+42 | |
| Closes #10976 | ||||
| 2013-12-15 | librustc: Remove identifiers named `box`, since it's about to become a keyword. | Patrick Walton | -2/+2 | |
| 2013-12-15 | auto merge of #10984 : huonw/rust/clean-raw, r=cmr | bors | -145/+94 | |
| See commits for details. | ||||
| 2013-12-15 | std::vec: convert to(_mut)_ptr to as_... methods on &[] and &mut []. | Huon Wilson | -33/+44 | |
| 2013-12-15 | Move std::{str,vec}::raw::set_len to an unsafe method on Owned{Vector,Str}. | Huon Wilson | -33/+33 | |
| 2013-12-15 | std::vec: move pointless `raw::get` and `unsafe_get` functions. | Huon Wilson | -16/+0 | |
| This can easily be written as `(*v.unsafe_ref(i)).clone()`, or just `*v.unsafe_ref(i)` for primitive types like `i32` (the common case). | ||||
| 2013-12-15 | std::vec::raw: clean up docs. | Huon Wilson | -4/+6 | |
| 2013-12-15 | std::vec::bytes: remove obsolete functions. | Huon Wilson | -44/+2 | |
| These are less useful versions of the comparison operators and TotalOrd trait. | ||||
| 2013-12-15 | std::vec: remove unnecessary count parameter on {bytes, | Huon Wilson | -18/+12 | |
| raw}::copy_memory. Slices carry their length with them, so we can just use that information. | ||||
| 2013-12-15 | std: fix spelling in docs. | Huon Wilson | -8/+9 | |
| 2013-12-12 | Inline Finallyalizer::drop, allowing LLVM to optimize `finally`. | Eduard Burtescu | -0/+55 | |
| * fixes the vec::from_elem regression caused by #8780 * added 5 benchmarks for allocating a 1KB ~[u8] and zeroing it | ||||
| 2013-12-11 | Make 'self lifetime illegal. | Erik Price | -145/+145 | |
| Also remove all instances of 'self within the codebase. This fixes #10889. | ||||
| 2013-12-03 | add MutableVector::mut_split(self, pred) -> DoubleEndedIterator<&mut [T]> | Guillaume Pinot | -4/+110 | |
| This method is the mutable version of ImmutableVector::split. It is a DoubleEndedIterator, making mut_rsplit irrelevent. The size_hint method is not optimal because of #9629. At the same time, clarify *split* iterator doc. | ||||
| 2013-12-02 | rename MutableVector::mut_split(at) to MutableVector::mut_split_at(at) | Guillaume Pinot | -6/+6 | |
| 2013-11-30 | Implement DoubleEndedIterator for MutChunkIter. | Palmer Cox | -0/+29 | |
| 2013-11-30 | Implement mut_chunks() method for MutableVector trait. | Palmer Cox | -0/+73 | |
| mut_chunks() returns an iterator that produces mutable slices. This is the mutable version of the existing chunks() method on the ImmutableVector trait. | ||||
| 2013-11-29 | Removed a few macro-expanding-to-module workarounds | Marvin Löbel | -26/+5 | |
| Also documented a few issues | ||||
| 2013-11-28 | auto merge of #10519 : ↵ | bors | -0/+194 | |
| nikomatsakis/rust/issue-8624-borrowck-overly-permissive, r=pnkfelix See #8624 for details. r? @pnkfelix | ||||
| 2013-11-26 | librustc: Fix merge fallout. | Patrick Walton | -2/+2 | |
| 2013-11-26 | libstd: Fix Win32 and other bustage. | Patrick Walton | -16/+16 | |
| 2013-11-26 | test: Remove non-procedure uses of `do` from compiletest, libstd tests, | Patrick Walton | -2/+6 | |
| compile-fail tests, run-fail tests, and run-pass tests. | ||||
| 2013-11-26 | libstd: Remove all non-`proc` uses of `do` from libstd | Patrick Walton | -50/+46 | |
| 2013-11-26 | librustc: Remove remaining uses of `&fn()` in favor of `||`. | Patrick Walton | -10/+10 | |
| 2013-11-26 | Removed unneccessary `_iter` suffixes from various APIs | Marvin Löbel | -60/+65 | |
| 2013-11-26 | std: Remove unused attributes | klutzy | -2/+2 | |
| This also enables two tests properly. | ||||
| 2013-11-25 | Add [mut_]shift_ref/[mut_]pop_ref functions, which return a pointer to the ↵ | Niko Matsakis | -0/+194 | |
| first/last item in the slice and modify the slice to exclude the returned item. Useful when writing iterators over mutable references. | ||||
| 2013-11-22 | Add more benchmark tests to vec.rs | g3xzh | -2/+70 | |
| New benchmark tests in vec.rs: `push`, `starts_with_same_vector`, `starts_with_single_element`, `starts_with_diff_one_element_end`, `ends_with_same_vector`, `ends_with_single_element`, `ends_with_diff_one_element_beginning` and `contains_last_element` | ||||
| 2013-11-21 | `std::ptr::read_ptr` now takes `*T` instead of `*mut T` | Ziad Hatahet | -1/+1 | |
| Closes #10579 | ||||
| 2013-11-19 | libstd: Change all uses of `&fn(A)->B` over to `|A|->B` in libstd | Patrick Walton | -27/+29 | |
| 2013-11-11 | vec: with_capacity: check for overflow | Corey Richardson | -1/+5 | |
| Fixes #10271 | ||||
| 2013-11-08 | add `clone_from` and `deep_clone_from` | Daniel Micay | -1/+23 | |
| Closes #10240 | ||||
| 2013-11-06 | Register new snapshots | Alex Crichton | -14/+1 | |
| 2013-11-05 | Rename misleading contains_managed to owns_managed | Niko Matsakis | -8/+21 | |
| 2013-10-22 | Drop the '2' suffix from logging macros | Alex Crichton | -16/+16 | |
| Who doesn't like a massive renaming? | ||||
| 2013-10-17 | std: Move size/align functions to std::mem. #2240 | Brian Anderson | -22/+22 | |
