about summary refs log tree commit diff
path: root/src/libstd/ptr.rs
AgeCommit message (Collapse)AuthorLines
2013-07-10Added overloaded Add and Sub traits for pointer arithmetic=Mark Sinclair-0/+96
Implemented ptr arithmetic for *T and *mut T. Tests passing
2013-07-09ptr: optimize {swap,replace,read}_ptrDaniel Micay-6/+6
2013-07-08Address nits by @catamorphismNiko Matsakis-1/+1
2013-07-08update ptr intrinsics and rewrite vec routines to be more correct.Niko Matsakis-0/+50
In particular, it is not valid to go around passing uninitialized or zero'd memory as arguments. Rust should generally be free to assume that the arguments it gets are valid input values, but the output of intrinsics::uninit() and intrinsics::init() are not (e.g., an @T is just null, leading to an error if we should try to increment the ref count).
2013-07-04Convert vec::{as_imm_buf, as_mut_buf} to methods.Huon Wilson-1/+1
2013-06-29Removing a lot of usage of '&const'Alex Crichton-9/+9
2013-06-21Remove all #[cfg(stage0)]-protected codeJames Miller-63/+6
New snapshot means this can all go. Also removes places that have comments that say they are workarounds for stage0 errors.
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-37/+37
2013-06-11fix the docstring for copy_nonoverlapping_memoryDaniel Micay-9/+25
2013-06-11fix the ptr::set_memory docstringDaniel Micay-4/+4
2013-06-09remove unused import warningsHuon Wilson-2/+0
2013-06-06libc: omit memcpy, memmove and memsetDaniel Micay-23/+1
LLVM provides these functions as intrinsics, and will generate calls to libc when appropriate. They are exposed in the `ptr` module as `copy_nonoverlapping_memory`, `copy_memory` and `set_memory`.
2013-06-03rename the Ptr trait to RawPtrDaniel Micay-3/+3
Closes #6607
2013-06-02ptr: split out borrowed pointer utilitiesDaniel Micay-46/+0
The ptr module is intended to be for raw pointers. Closes #3111
2013-05-31ptr: replace unnecessary unsafe codeDaniel Micay-58/+18
2013-05-31mv the raw pointer {swap,replace}_ptr to std::ptrDaniel Micay-0/+31
2013-05-30Require documentation by default for libstdAlex Crichton-0/+29
Adds documentation for various things that I understand. Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-9/+15
2013-05-28Silence various warnings throughout test modulesAlex Crichton-2/+2
2013-05-27fix casts on 32-bitDaniel Micay-1/+1
2013-05-26add memset32/memset64Daniel Micay-0/+24
2013-05-26make the memcpy/memmove intrinsics higher-levelDaniel Micay-19/+41
This allows them to make use of the type's alignment, instead of being pessimistic and assuming it is only 1.
2013-05-23optimize util::swap, &mut pointers never aliasDaniel Micay-0/+22
2013-05-23swap_ptr: rm equality checkDaniel Micay-0/+1
This isn't needed semantically, and it's the wrong case to optimize for.
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+561
This only changes the directory names; it does not change the "real" metadata names.
2011-12-14Remove some duplicated unused parts of std now that they're present in core.Graydon Hoare-52/+0
2011-12-06Establish 'core' library separate from 'std'.Graydon Hoare-0/+52