diff options
| author | bors <bors@rust-lang.org> | 2014-01-22 23:26:33 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-01-22 23:26:33 -0800 |
| commit | 19e0cbe420f7a78077b8009fdf1367073fc0c5eb (patch) | |
| tree | 10232b5958cac95aa3a437791661333f8e1818c1 /src/libstd/rt | |
| parent | 52ba3b6414fe91cf92222581cb24e06894267c49 (diff) | |
| parent | b2ec71fc277ca590bb8bd26d3f7762d6406860e5 (diff) | |
| download | rust-19e0cbe420f7a78077b8009fdf1367073fc0c5eb.tar.gz rust-19e0cbe420f7a78077b8009fdf1367073fc0c5eb.zip | |
auto merge of #11682 : thestinger/rust/vector, r=brson
This is just an initial implementation and does not yet fully replace `~[T]`. A generic initialization syntax for containers is missing, and the slice functionality needs to be reworked to make auto-slicing unnecessary. Traits for supporting indexing properly are also required. This also needs to be fixed to make ring buffers as easy to use as vectors. The tests and documentation for `~[T]` can be ported over to this type when it is removed. I don't really expect DST to happen for vectors as having both `~[T]` and `Vec<T>` is overcomplicated and changing the slice representation to 3 words is not at all appealing. Unlike with traits, it's possible (and easy) to implement `RcSlice<T>` and `GcSlice<T>` without compiler help.
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/global_heap.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/rt/global_heap.rs b/src/libstd/rt/global_heap.rs index 54442cedb68..6bee8cb70f5 100644 --- a/src/libstd/rt/global_heap.rs +++ b/src/libstd/rt/global_heap.rs @@ -52,7 +52,7 @@ pub unsafe fn realloc_raw(ptr: *mut u8, size: uint) -> *mut u8 { // `realloc(ptr, 0)` may allocate, but it may also return a null pointer // http://pubs.opengroup.org/onlinepubs/9699919799/functions/realloc.html if size == 0 { - free(ptr as *c_void); + free(ptr as *mut c_void); mut_null() } else { let p = realloc(ptr as *mut c_void, size as size_t); @@ -107,7 +107,7 @@ pub unsafe fn exchange_free_(ptr: *u8) { #[inline] pub unsafe fn exchange_free(ptr: *u8) { - free(ptr as *c_void); + free(ptr as *mut c_void); } #[cfg(test)] |
